EN

Neural Network Libraries v1.35.0とnnabla-rl v0.13.0をリリースしました!

2023年3月31日 金曜日

ニュース

Posted by Takuya Narihira

Neural Network Libraries v1.35.0 をリリースしました!
また、このリリースに合わせてnnabla-rlもv0.13.0にアップデートされました!
重要なリリースアイテムはSpotlightをご確認ください。

Spotlight

Lion optimizer

2月に発表された新しいオプティマイザであるLionをSolverとして追加しました!このオプティマイザはモメンタムのみをステートとして持つためメモリ効率が良い上に、短縮された学習時間と高い性能をいくつかの実験で報告しています。ぜひお試しください。詳しい技術詳細は以下の論文を参照ください。

Xiangning Chen, et al. Symbolic Discovery of Optimization Algorithms. arXiv 2023.

prune the constant branches

nnabla-converterは様々なモデルを変換することができますが、このリリースではTFLite変換部に様々な改善がされました!

# nnabla-converterをインストール:
pip install nnabla nnabla-converter

# nnpからtfliteへ変換:
nnabla_cli convert -b 1 input.nnp output.tflite

# nnpからTensorflowに変換し、更に冗長なオペレータを削除:
nnabla_cli convert input.nnp output.pb
nnabla_cli optimize output.pb improved.pb
  1. 事前計算
    AndroidのTFLite GPUデリゲートはADDをサポートしていますが、2定数入力は受け付けません。今回事前計算可能なレイヤは事前計算してモデル出力をシンプルにするように改善しました。

  2. 入出力のShapeが同じSplitやSliceの削除
    以前のバージョンまでは、変換されたTFLiteのモデルには冗長なオペレータが含まれてしまっていました。これらの不要なオペレータを刈り取ることで、モデルはよりコンパクトに、より速度を出すことができるようになります。

  3. 量子化モデル変換時のオペレータ置換
    バックエンドやそのバージョンが異なればオペレータのサポート状況も変わります。Quantized TFLiteのオペレータはTFLiteオペレータのサブセットで、主要なオペレータはサポートされていますが、サポートされていないオペレータもいくつか存在します。今回のリリースで利用可能なオペレータを使ってQuantized TFLiteに変換するようになりました。

  4. 量子化モデル変換時のTRANSPOSE_CONVサポート
    TRANSPOSE_CONV はAndroidのTFLite GPUデリゲートでもサポートされているようですので、モデル変換時にこのオペレータを利用することができるようになりました。

  5. Tensorflowモデル内の不要なTransposeの削除
    Tensorflowモデルの中に含まれる冗長なオペレータを削除する機能は以前からnnabla_cli optimize サブコマンドに実装されていましたが、今回これをTensorflow v2.xにも拡張しました。


nnabla

Build

Document

Format Converter

BugFix

Examples


nnabla-rl

BugFix

Algorithm

Utility

Document