ゼロから作るDeep Learning P.138 TypeErrorの原因

P.138 に記載されているコードを手入力で実装した所、以下のエラーメッセージが出た。
TypeError: unsupported operand type(s) for *: 'int' and 'NoneType'

エラー発生個所は以下のコードの12行目である。

この原因は、単にインスタンスの呼び間違えであった。エラー発生個所より前の8行目の
price = mul_apple_layer.forward(apple_price, tax)
の部分を
price = mul_tax_layer.forward(apple_price, tax)
としなければいけなかったのだ。エラー発生個所とバグの個所が離れているので気付くのに時間がかかってしまった。

同様のエラーに苦しんでいる方は、呼び出すインスタンスが誤っていないかソースコード全体を確認しよう(もっとも、このページはソースコードがGitで公開されているのでそれをそのまま使ってもよかったが)。