回答編集履歴
1
一箇所zがyになっていたのを訂正
answer
CHANGED
@@ -14,4 +14,4 @@
|
|
14
14
|
|
15
15
|
> [-1, 0, 1]をcos関数(sin関数を微分した)に代入したという解釈なのですが、途中のz.grad = np.ones(3, dtype=np.float32)の意味が分からないです。加えて、出力がnoneとなり何も出力されないことから、この解釈が間違っていると思うのですが、どこが間違っているのか分かりません。
|
16
16
|
|
17
|
-
参照しているコードがどこのものかわからないのですが、おそらく最後の`print(z.grad)`は`print(x.grad)`の書き間違いなのでは。`z`が複数の要素を持つ場合、`z.grad`に`np.ones`で同じ要素数ですべて初期値1の配列を設定して`
|
17
|
+
参照しているコードがどこのものかわからないのですが、おそらく最後の`print(z.grad)`は`print(x.grad)`の書き間違いなのでは。`z`が複数の要素を持つ場合、`z.grad`に`np.ones`で同じ要素数ですべて初期値1の配列を設定して`z.backward`で自動微分を実行すると、`x.grad`にそれぞれの勾配`[0.5403023 1. 0.5403023]`が得られます。
|