Neural Network Libraries v1.6.0をリリースしました!RNN系の関数がCPUでも実行可能になったほか、オプティカルフローやビデオフレーム補完などに有用な関数をはじめ、様々な関数・新機能が追加されました!
スポットライト
RNN/GRU/LSTMのCPU版が実装されました!
これまでRNN系の関数はGPUでしか使うことができませんでしたが、本バージョンからCPU実装が追加されました!これによって限られたリソースをもつような軽量・低消費電力のデバイスでもRNNなどが使えるようになりました!
Adaptive Separable Convolution
こちらの論文で提案された動画のフレーム補完に用いられる2D Adaptive Separable Convolutionが追加されました!入力サンプル/ピクセルに依存する2Dカーネルを生成し、それを用いてConvolution演算を行います。すべての入力に対するBackward演算もサポートしています。
DeconvolutionのNHWCフォーマット対応
ConvolutionやPoolingレイヤーについてはすでにNHWCフォーマット対応(channel_last=True時)がされていましたが、本バージョンからDeconvolutionもNHWCフォーマットに対応しました!これによりMixed Precision Training時にもDeconvolutionを最適な形で実行できるようになりました!
Patch Correlation
二枚の画像間のパッチ相関を計算するPatch Correlationが追加されました!パッチとシフトに関してはユーザーが細かく設定することが可能で、またパディングも適用することが可能です。これはFlowNetやPWC-Netといった、オプティカルフローを用いるネットワークに特に有用な関数となっています。
レイヤー関数の新規追加・改善
- add_n/mul_n関数追加 (CPU / CUDA)
- RNN/GRU/LSTMのCPU実装追加
- Patch Correlation (CPU / CUDA)
- DeconvolutionのNWHCフォーマット対応 (CPU / CUDA)
- Adaptive Separable Convolution (CPU / CUDA)
- RandomCropのCUDA実装追加
- shift/flipの実装最適化
バグ修正・ドキュメントの追加・修正
- 各種コードサンプル・ドキュメントの修正
- バックエンドにPILを使用している際のimreadの挙動修正
- monitorのファイルディスクリプタを修正
- nn.Variable/nn.NdArrayにおいてbool値をもつVariableを用いたindexingが可能に
- Neural Network Console向け各種修正
- CudnnMaxPoolingが決定的アルゴリズムのサポート
- MPIのエラー修正