前提・実現したいこと
Affine layerで出力に複素数を実装したところ、Wが定義されていないとなりました。変更したのはoutの部分だけですがエラーとなったので教えてほしく思います。コードはゼロから作るディープラーニングp152のAffineレイヤを使用しています。
発生している問題・エラーメッセージ
name 'W' is not defined
該当のソースコード
Python3.8.5
1class Affine: 2 def __init__(self, W, b): 3 self.W = W 4 self.b = b 5 6 self.x = None 7 self.original_x_shape = None 8 # 重み・バイアスパラメータの微分 9 self.dW = None 10 self.db = None 11 12 def forward(self, x): 13 # テンソル対応 14 self.original_x_shape = x.shape 15 x = x.reshape(x.shape[0], -1) 16 self.x = x 17 18 out = np.dot(x.real, W.real) + 1.j * np.dot(x.imag, W.imag) + b 19 20 return out 21 22 def backward(self, dout): 23 dx = np.dot(dout, self.W.T) 24 self.dW = np.dot(self.x.T, dout) 25 self.db = np.sum(dout, axis=0) 26 27 dx = dx.reshape(*self.original_x_shape) # 入力データの形状に戻す(テンソル対応) 28 return dx
試したこと
参考が見つからず、試行錯誤してみましたが解決できませんでした。
補足情報(FW/ツールのバージョンなど)
Python3.8.5, google colabを使用

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/05 16:22
2022/02/06 04:57