データは Variable に保持 計算は Function (の具象クラス)で実行 します。 ここでデータと呼んでいるのは、学習データのほか、ユニット間の重み、そしてバイアス等のパラメータも指しています。 Function にはさまざまな具象クラスがあり、それぞれ固有の計算ロジックを実装していますが、共通ルールとして、forward メソッドで順伝播、backward メソッドで逆伝播を処理しています。 そして下図のように、Function は Variable を入力として受け取り、Variable を出力します。
![Chainerのソースを解析。順伝播と逆伝播の仕組み | コード7区](https://cdn-ak-scissors.b.st-hatena.com/image/square/fd25b1ddd3ae4471df93f598c218878698587973/height=288;version=1;width=512/http%3A%2F%2Failaby.com%2Fwp-content%2Fuploads%2F2016%2F05%2Fin_out.png)