2/15にリリースしたNeural Network Libraries v1.0.12の主なアップデートについてご紹介します!
スポットライト
N-Step RNN/LSTM/GRU:より簡単で高速な固定長RNN関数の追加
cuDNNを利用した、これまでの実装よりも簡単・高速に学習可能な再帰的ニューラルネットワーク群が追加されました(以前の実装よりも数倍速く動作するようになっています)。
import nnabla as nn
import nnabla.functions as F
import nnabla.parametric_functions as PF
x = nn.Variable((seq_len, batch_size, input_size))
h = nn.Variable((num_layers, num_directions, batch_size, hidden_size))
c = nn.Variable((num_layers, num_directions, batch_size, hidden_size))
y, hn, cn = PF.lstm(x, h, c)
N-Step RNNは現時点ではGPU実装のみが提供されています。CPUでの実装も追加される予定です。
重要なバグ修正
Variableのメソッドであるforward()を呼ぶ度にメモリが増加する問題の修正
前回のv1.0.11のリリースにおける機能追加によりメモリリークが生じていたため、今回のリリースではその修正を行いました。
現在Neural Network Libraries v1.0.11をお使いの方は、v1.0.12へのアップグレードをお願いします。
その他の変更
追加された学習済みモデル
レイヤー関数の新規追加・改善