python
1def numerical_gradient(f, x): 2 h = 1e-4 # 0.0001 3 grad = np.zeros_like(x) 4 5it = np.nditer(x, flags=['multi_index'], op_flags=['readwrite']) 6 7 while not it.finished: 8 idx = it.multi_index 9 tmp_val = x[idx] 10 x[idx] = float(tmp_val) + h 11 fxh1 = f(x) # f(x+h) 12 13 x[idx] = tmp_val - h 14 fxh2 = f(x) # f(x-h) 15 grad[idx] = (fxh1 - fxh2) / (2*h) 16 17 x[idx] = tmp_val # 値を元に戻す 18 it.iternext() 19 20 return grad
ゼロから作るディープラーニングの
commonの中にある gradient.pyの関数numerical_gradienのコードです
https://github.com/oreilly-japan/deep-learning-from-scratch
このコードの大体の動作は、
http://www.aipacommander.com/entry/2017/05/14/172220
此方のサイトのおかげで理解することが出来たのですが、
以下の部分のop_flags=['readwrite']が何をしているのががわかりません
python
1it = np.nditer(x, flags=['multi_index'], op_flags=['readwrite'])
これは何をしているのか、詳しいかたいればお願いします><
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/06/10 04:56
2017/06/11 23:58