ailia Tech BLOG

ailia SDK 1.2.8をリリース

クロスプラットフォームで利用できるGPU対応の高速AI推論フレームワークであるailia SDKのバージョン1.2.8のご紹介です。ailia SDKについてはこちらをご覧ください。

新たなレイヤーの追加

opset=11で追加され、Pytorchで使用されることのあるConcatFromSequence, SequenceEmpty, SequenceConstruct, SequenceInsert, SequenceErase, SequenceAt, SplitToSequenceに対応しました。また、HardSigmoid, If, MaxUnpool, OneHotに対応しました。

Android(JNI)の省メモリモード対応

省メモリモードをAndroid(JNI)でも使用可能になりました。下記のように、AiliaModel.getMemoryModeで取得したメモリモードをAiliaModelに指定することができます。

EnumSet<AiliaMemoryMode> memory_mode = AiliaModel.getMemoryMode(true, true, false, true);  
ailia = new AiliaModel(envId, Ailia.MULTITHREAD_AUTO, memory_mode,  
        loadRawFile(R.raw.u2netp_opset11_proto), loadRawFile(R.raw.u2netp_opset11_weight));

省メモリモードについては下記のチュートリアルを参照してください。

ailia SDKチュートリアル(省メモリモード)ailia SDKを使用することで、機械学習モデルを省メモリで推論することが可能です。medium.com

型伝搬の実装

ailia SDK 1.2.7までは全てfloatとして推論処理を行なっていました。ailia SDK 1.2.8からはONNXの各テンソルの型を伝搬するようになったため、Int精度での除算と切り捨てを利用して、動的にテンソルサイズを計算するようなモデルの推論が可能になりました。主に、TensorFlowからエクスポートしたモデルの互換性が改善します。

ailia.audioの追加

実験的な機能として音声の前処理・後処理ライブラリであるailia.audioを追加しました。

音声の認識や生成では、AIモデルの入力波形の前処理として、波形のMelSpectrum変換やresampleなどが必要になります。これらの前処理は、従来、torch.audioやlibrosaが使用されています。しかし、JetsonやRaspberryPiなどのエッジ端末ではこれらの音声処理ライブラリが動作しないという課題があり、音声の認識や生成のモデルが動作しないという問題がありました。

この問題に対して、ailia.audioは、torch.audioおよびlibrosaに相当する機能を、全てのプラットフォームに対して提供することで、一貫した音声の前処理・後処理を実現します。

ailia.audioを使用するには、ailia MODELSの音声認識モデルにおいて、 ‘ — ailia_audio’オプションを使用してください。

python3 pytorch-dc-tts.py --ailia_audio

ailia-models/audio_processing at master · ailia-ai/ailia-modelsPretrained models for ailia SDK. Contribute to ailia-ai/ailia-models development by creating an account on GitHub.github.com

新たな対応モデル

対応レイヤーの追加と型伝搬の実装によって、下記のモデルに対応します。

M-LSD : ワイヤーフレーム抽出モデル

出典:https://pixabay.com/ja/photos/%e6%97%85%e8%a1%8c%e3%81%99%e3%82%8b-%e3%83%9b%e3%83%86%e3%83%ab%e3%81%ae%e9%83%a8%e5%b1%8b-%e3%83%9b%e3%83%86%e3%83%ab-1677347/

ailia-models/line_segment_detection/mlsd at master · ailia-ai/ailia-models(Image from…github.com

3D Object Detection Pytorch : 3Dの物体検出モデル

出典:https://github.com/google-research-datasets/Objectron/blob/master/notebooks/Download%20Data.ipynb

ailia-models/object_detection/3d-object-detection.pytorch at master · ailia-ai/ailia-models(Image from Objectron Dataset…github.com

MoveNet : 動きの激しい動画向け骨格検出

ailia-models/pose_estimation/movenet at master · ailia-ai/ailia-models(Image from…github.com

MMFashion VirtualTryOn : ファッションのバーチャル試着モデル

ailia-models/deep_fashion/mmfashion_tryon at master · ailia-ai/ailia-modelsCloth image file Person image file Person-parse png image file created in palette mode that indexes 1, 2, 4, and 13…github.com

Pytorch ENet : 画像のセグメンテーションモデル

ailia-models/image_segmentation/pytorch-enet at master · ailia-ai/ailia-models(Image from CamVid Dataset https://github.com/alexgkendall/SegNet-Tutorial/tree/master/CamVid) Shape : (1, 3, 360, 480)…github.com


アイリア株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。アイリア株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。