pytorchを使った方が良いかもしれないと思ったので,色々調査.
- Tensor
- Autograd
- Neural Networks
- torch.nnモジュールによって定義
- 一般的な学習の流れ
- 学習可能なパラメータ(重み)を持つネットワークを定義
- 学習データセットに対して繰り返し計算
- ネットワークによって入力を処理
- 処理結果の誤差を評価
- ネットワークのパラメータに勾配を逆伝搬
- ネットワークの重みを更新
- Networkを表すclassを定義し,
- コンストラクタ(__init__)でネットワーク構成+活性化関数を定義
- 関数forwardで入力から出力までの処理を定義
- backwardはautogradにより自動で計算される
- 入力データはミニバッチのみをサポートしている
- 単一のデータを入力する時は,input.unsqueeze(0)によって次元数を増やす必要がある