質問編集履歴
1
こーど2もおかしくなった
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,60 +1,13 @@
|
|
1
1
|
Gradient overflow. Skipping step, loss scaler 0 reducing loss scale to 3.3409558876152446e-52
|
2
|
-
とコード2では大量に表示されるのですが
|
3
|
-
コード1では表示されません
|
4
|
-
違いといえば 1はforで回してないことですが
|
5
|
-
|
2
|
+
というメッセージをoffにしたいです やり方がわかりません
|
3
|
+
わかる人教えてください
|
6
4
|
|
7
|
-
なぜコード2だけメッセージが大量に出るのでしょうか わかる人教えてください
|
8
|
-
当然ですが1 はprint()など表示させるようなものを入れた覚えありません
|
9
|
-
|
10
|
-
コード1はコード2を切り取って乱数を入れて挙動を試そうと思ってたものです
|
11
|
-
コード
|
5
|
+
コード
|
12
6
|
```ここに言語を入力
|
13
7
|
mainQN = QNetwork(state.shape,action_size).to('cuda:0')
|
14
8
|
optimizer = optim.Adam(mainQN.parameters(), lr=learning_rate)
|
15
9
|
mainQN, optimizer = amp.initialize(mainQN, optimizer, opt_level="O1")#------------
|
16
10
|
|
17
|
-
criterion = nn.MSELoss()
|
18
|
-
mainQN.eval()
|
19
|
-
|
20
|
-
_1=[torch.ones(1,10).to('cuda:0') for _ in range(100)]
|
21
|
-
|
22
|
-
idx=[1,14,5,43]
|
23
|
-
inp=torch.cat([_1[i] for i in idx])
|
24
|
-
a=mainQN.forward(inp)
|
25
|
-
b=torch.randn(1,4).to("cuda:0")
|
26
|
-
loss=criterion(a,b)
|
27
|
-
loss=loss
|
28
|
-
with amp.scale_loss(loss, optimizer) as scaled_loss:
|
29
|
-
scaled_loss.backward() # ここを変更
|
30
|
-
optimizer.step()
|
31
|
-
print(a)
|
32
|
-
print("ok")
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
結果
|
40
|
-
Gradient overflow. Skipping step, loss scaler 0 reducing loss scale to 32768.0
|
41
|
-
tensor([[999.5000],
|
42
|
-
[999.5000],
|
43
|
-
[999.5000],
|
44
|
-
[999.5000]], device='cuda:0', dtype=torch.float16,
|
45
|
-
grad_fn=<MulBackward0>)
|
46
|
-
ok
|
47
|
-
赤く囲われて表示されてた
|
48
|
-
C:\Users\PC_User\Anaconda3\envs\pyflan\lib\site-packages\apex\amp\wrap.py:28: UserWarning: Using a target size (torch.Size([1, 4])) that is different to the input size (torch.Size([4, 1])). This will likely lead to incorrect results due to broadcasting. Please ensure they have the same size.
|
49
|
-
return orig_fn(*new_args, **kwargs)
|
50
|
-
```
|
51
|
-
|
52
|
-
コード2
|
53
|
-
```ここに言語を入力
|
54
|
-
mainQN = QNetwork(state.shape,action_size).to('cuda:0')
|
55
|
-
optimizer = optim.Adam(mainQN.parameters(), lr=learning_rate)
|
56
|
-
mainQN, optimizer = amp.initialize(mainQN, optimizer, opt_level="O1")#------------
|
57
|
-
|
58
11
|
mainQN.train()
|
59
12
|
optimizer.zero_grad()
|
60
13
|
output = mainQN.forward(inputs,"net_q")
|