EN

Neural Network Libraries v1.8.0をリリースしました!

2020年6月5日 金曜日

リリース

Posted by Takuya Yashima

Neural Network Libraries v1.8.0をリリースしました!

スポットライト

NanInfTracer

任意のネットワークの演算実行時に発生したNanやInfを検出し、その発生個所を教えてくれるNanInfTracerを新しく追加しました。
以下のように、数行の追加で簡単に利用することが可能です。

pred = model(...)

from nnabla.utils.inspection import NanInfTracer
nit = NanInfTracer(trace_inf=True, trace_nan=True, need_details=True)

with nit.trace():
    ...
    pred.forward(function_post_hook=nit.forward_post_hook)
    pred.backward(function_post_hook=nit.backward_post_hook)
    ...

NanやInfの発生時には以下のようなメッセージが出力されます。

Error during forward propagation
        Convolution
        Convolution
        Constant
        Reshape
        Div2 <-- ERROR

ValueError: The 0th output of the function 'Div2' (rank: 3) has nan or inf as its values.
        Function details:
            function type: Div2
            shapes of inputs: ['(2, 4, 10, 10)', '(1, 1, 1, 1)']
            shapes of outputs: ['(2, 4, 10, 10)']
            function args: {}

ご自身でニューラルネットワークの構築を行う際に、どの関数の付近で想定外の演算が発生しているのか、今までよりも簡単にデバッグすることができます。

Inception Score / FID and LPIPS

GANなどに代表される生成モデルの定量評価に用いられるInception ScoreFIDがNNablaで簡単に使えるようになりました!疑似的なCLIとして実行することができます(nnabla-examples/utils/neuにパスを通す必要あり)。これらはニューラルネットワークで抽出した特徴量をもとに算出されるスコアであり、特徴量抽出に用いられるネットワーク構造とそのパラメータ(InceptionV3型のネットワークが使われています)はこれらのスコアを提案した研究者が用いたものと同じものを使っています。

# calculate Inception Score
python -m metrics.gan_eval.inception_score <path to the directory or text file> 

# calculate FID
python -m metrics.gan_eval.fid <path to the directory, text file, or .npz file of REAL data> \
                               <path to the directory, text file, or .npz file of FAKE data> \
                               --params-path <path to the pretrained weights, can be omitted>

加えて、DNNで抽出した特徴量をもとに画像間の「知覚的」類似度を測るLPIPSも追加され、上記スコアと同様に簡単に使えるようになりました。
詳細はそれぞれのドキュメントをご覧ください。

NNabla TutorialがColabで試せるようになりました

これまでNotebookとして公開していたNNablaのチュートリアルがColabを利用して簡単に試せるようになりました!NNablaの基本的な特徴がわかるチュートリアルや、CIFAR10の分類DCGANを用いた画像生成などを試すことができます。これからNNablaを使ってみようという方に特におすすめです。

ImageNet ExampleでMobileNet V1, V2, V3が使用可能に

ImageNetのExampleでMobileNetV1, V2, V3が利用可能になりました!また、それぞれの学習済みモデルもダウンロード可能になっています。

コア機能の追加・改善

バグ修正

ビルド関連

ドキュメントの追加・修正

フォーマットコンバーターの機能改善

レイヤー関数の新規追加・改善

ユーティリティの機能改善

Exampleの新規追加 / 機能改善