質問編集履歴

5

だsf

2021/09/09 12:49

投稿

esklia
esklia

スコア81

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,11 @@
16
16
 
17
17
  によると、一回しか固定されないみたいです。
18
18
 
19
+ PYTHONの組み込み関数でもNUMPYのRANDOM.RANDNでも同様で一回しか結果が固定されませんでした。例えば同一ファイルでNP.RANDOM.RANDINTを実行した後にnp.random.randn()を実行するとRANDMの時にはシード固定が解除されているので、これはかなり困ります。
20
+
21
+
22
+
19
- PYTHONの組み込み関数でも、NUMPYのRANDOM.RANDNでも同様で一回しか結果が固定されませんでした。少し質問の内容を変えて、疑似乱数生成器が毎回同じ値を出力するにはどのようにしたらよいでしょうか。おぼろげな記憶なのですが、少し前にデモを自分でやったときは毎回同じ乱数が生成されていた記憶があるので、不可能ではないと思います。
23
+ 少し質問の内容を変えて、疑似乱数生成器が毎回同じ値を出力するにはどのようにしたらよいでしょうか。おぼろげな記憶なのですが、少し前にデモを自分でやったときは毎回同じ乱数が生成されていた記憶があるので、不可能ではないと思います。
20
24
 
21
25
 
22
26
 

4

A

2021/09/09 12:49

投稿

esklia
esklia

スコア81

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- 追記
13
+ **追記**
14
14
 
15
15
  https://teratail.com/questions/15388
16
16
 

3

2021/09/09 12:46

投稿

esklia
esklia

スコア81

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,13 @@
12
12
 
13
13
  追記
14
14
 
15
- os.environ['PYTHONHASHSEED']に関してはシード固定されているみたいです。
15
+ https://teratail.com/questions/15388
16
+
17
+ によると、一回しか固定されないみたいです。
18
+
19
+ PYTHONの組み込み関数でも、NUMPYのRANDOM.RANDNでも同様で一回しか結果が固定されませんでした。少し質問の内容を変えて、疑似乱数生成器が毎回同じ値を出力するにはどのようにしたらよいでしょうか。おぼろげな記憶なのですが、少し前にデモを自分でやったときは毎回同じ乱数が生成されていた記憶があるので、不可能ではないと思います。
20
+
21
+
16
22
 
17
23
 
18
24
 

2

2021/09/09 12:45

投稿

esklia
esklia

スコア81

test CHANGED
File without changes
test CHANGED
@@ -36,7 +36,7 @@
36
36
 
37
37
 
38
38
 
39
- SEED_VALUE = 1234 # これはなんでも良い
39
+ SEED_VALUE = 1234
40
40
 
41
41
  os.environ['PYTHONHASHSEED'] = str(SEED_VALUE)
42
42
 
@@ -44,7 +44,7 @@
44
44
 
45
45
  np.random.seed(SEED_VALUE)
46
46
 
47
- torch.manual_seed(SEED_VALUE) # PyTorchを使う場合
47
+ torch.manual_seed(SEED_VALUE)
48
48
 
49
49
 
50
50
 

1

2021/09/09 12:37

投稿

esklia
esklia

スコア81

test CHANGED
File without changes
test CHANGED
@@ -17,3 +17,43 @@
17
17
 
18
18
 
19
19
  ![イメージ説明](04bd5bd14f924c3d47ba83a51a2d1df2.png)
20
+
21
+
22
+
23
+
24
+
25
+ ```
26
+
27
+ def set_seed()-> None:
28
+
29
+ import os
30
+
31
+ import random
32
+
33
+ import numpy as np
34
+
35
+ import torch
36
+
37
+
38
+
39
+ SEED_VALUE = 1234 # これはなんでも良い
40
+
41
+ os.environ['PYTHONHASHSEED'] = str(SEED_VALUE)
42
+
43
+ random.seed(SEED_VALUE)
44
+
45
+ np.random.seed(SEED_VALUE)
46
+
47
+ torch.manual_seed(SEED_VALUE) # PyTorchを使う場合
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+ np.random.randn(10)
58
+
59
+ ```