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
-
事前計算
AndroidのTFLite GPUデリゲートはADDをサポートしていますが、2定数入力は受け付けません。今回事前計算可能なレイヤは事前計算してモデル出力をシンプルにするように改善しました。 -
入出力のShapeが同じSplitやSliceの削除
以前のバージョンまでは、変換されたTFLiteのモデルには冗長なオペレータが含まれてしまっていました。これらの不要なオペレータを刈り取ることで、モデルはよりコンパクトに、より速度を出すことができるようになります。 -
量子化モデル変換時のオペレータ置換
バックエンドやそのバージョンが異なればオペレータのサポート状況も変わります。Quantized TFLiteのオペレータはTFLiteオペレータのサブセットで、主要なオペレータはサポートされていますが、サポートされていないオペレータもいくつか存在します。今回のリリースで利用可能なオペレータを使ってQuantized TFLiteに変換するようになりました。 -
量子化モデル変換時のTRANSPOSE_CONVサポート
TRANSPOSE_CONV はAndroidのTFLite GPUデリゲートでもサポートされているようですので、モデル変換時にこのオペレータを利用することができるようになりました。 -
Tensorflowモデル内の不要なTransposeの削除
Tensorflowモデルの中に含まれる冗長なオペレータを削除する機能は以前からnnabla_cli optimize
サブコマンドに実装されていましたが、今回これをTensorflow v2.xにも拡張しました。
nnabla
Build
- Use vs2019 default path (CPU / GPU)
- Use user’s pip cache in build-with-docker
- change aarch64 docker image base
- Enable FFT/IFFT pytests run on win32 when CUDA>=11.4
- change protobuf3.19.4 to protobuf3.19.6 (CPU / GPU)
- fix stft test error with fixing librosa version
Document
Format Converter
BugFix
- Fix wheel too big problem
- Fix FFT/iFFT cufftXtMakePlanMany usage
- Fix to run tests for CUDA functions and solvers
- Fix the generated images become black in DPM examples
Examples
nnabla-rl
BugFix
- Fix colab notebook
- Add pygame installation for colab demos
- Fix float max/min value range of gaussian explorer