Bladeのインストールパッケージには、ホイールパッケージとSDKが含まれています。 CPUおよびCompute Unified Device Architecture (CUDA) 環境では、モデル最適化用のホイールパッケージとモデル推論用のSDKをインストールする必要があります。 端末デバイスでは、モデル最適化のためにホイールパッケージのみをインストールする必要があります。 モデル最適化後、Bladeは、モデル推論に使用できるモバイルニューラルネットワーク (MNN) モデルをエクスポートします。 このトピックでは、さまざまな種類のデバイスにBladeをインストールする方法について説明します。
制限事項
Bladeは、次のオペレーティングシステム、Pythonバージョン、デバイスタイプ、およびフレームワークバージョンのみをサポートします。
オペレーティングシステム: Linux
Pythonバージョン: 3.6から3.8
デバイスタイプ: CUDAバージョンが10.0から11.3までのGPU、CPU、およびMNNデバイスなどの端末デバイス
フレームワークのバージョン: TensorFlow 1.15、2.4、2.7、PyTorch 1.6.0以降、TensorRT 8.0以降
SDK for C ++: cxx11およびpre-cxx11アプリケーションバイナリインターフェイス (ABI) 、およびRed-Hat Package Manager (RPM) 、Debianソフトウェアパッケージ (DEB) 、およびTGZ形式
使用上の注意
Bladeをインストールするときは、次の項目に注意してください。
BladeはTensorFlowまたはPyTorchを自動的にインストールしません。 Bladeをインストールする前に、サポートされているフレームワークが環境にインストールされていることを確認してください。
Bladeは、さまざまなデバイスタイプとCUDAバージョンのインストールパッケージを提供します。 お使いのデバイスタイプとCUDAバージョンに基づいて、Bladeのホイールパッケージをインストールすることを推奨します。
公式のPyTorch 1.6.0はCUDA 10.0をサポートしていません。 この問題を解決するには、Platform for AI (PAI) が提供するホイールパッケージを使用します。 他のPyTorchバージョンの場合は、公式のPyTorchインストールパッケージを使用します。
手順
Bladeのインストール手順は、デバイスのタイプによって異なります。 次のセクションでは、さまざまな種類のデバイスのインストール手順について説明します。
CUDA環境にBladeをインストールする場合は、TensorFlowまたはPyTorch、BladeのホイールパッケージとSDK、およびTensorRTをインストールする必要があります。 以下の手順を実行します。
フレームワークをインストールします。
モデルでTensorFlowフレームワークを使用している場合は、TensorFlowコミュニティが提供するTensorFlowパッケージをインストールできます。 TensorRTが統合されているTensorFlowをインストールする場合は、PAIが提供するプリコンパイル済みのTensorFlowパッケージを使用できます。 詳細については、このトピックの「TensorFlowのインストール」セクションを参照してください。
モデルでPyTorchフレームワークを使用している場合は、PyTorchコミュニティが提供するPyTorchパッケージをインストールできます。 CUDA 10.0をサポートするPyTorch 1.6.0をインストールする場合は、PAIが提供するプリコンパイル済みのPyTorchパッケージを使用できます。 詳細については、このトピックの「PyTorchのインストール」セクションを参照してください。
Bladeのホイールパッケージを取り付けます。 詳細については、このトピックの「ブレード用ホイールパッケージのインストール」を参照してください。
SDK for Bladeをダウンロードしてインストールします。 詳細については、このトピックの「Blade用SDKのインストール」セクションを参照してください。
アクセストークンを取得します。 詳細については、このトピックの「アクセストークンの取得」セクションをご参照ください。
オンプレミスのデバイスでBladeをモデル最適化に使用するには、TensorFlow、MNN、およびホイールパッケージをインストールする必要があります。 詳細については、このトピックの「オンプレミスデバイスへのモデル最適化のためのブレードのインストール」を参照してください。
TensorFlowのインストール
ブレードはTensorFlow 1.15と2.4をサポートします。 Pythonと依存関係のバージョンが要件を満たしていることを確認してください。 詳細については、このトピックの「制限」セクションを参照してください。
次のいずれかのコマンドを使用して、TensorFlowコミュニティが提供するTensorFlowパッケージをインストールできます。
GPUバージョンの
# Tensorflow of GPU version
pip3 install tensorflow-gpu==1.15.0
# Or:
pip3 install tensorflow-gpu==2.4.0
# Tensorflow of CPU version
pip3 install tensorflow==1.15.0
# TensorFlow 2.4 for CPU
pip3 install tensorflow==2.4.0
PyTorchのインストール
ブレードはPyTorch 1.6.0以降をサポートします。 特定のデバイスタイプまたはCUDAバージョンのPyTorchは、PyTorch公式Webサイトにあるインストールガイドに基づいてインストールできます。 CUDA 11.0がサポートされているPyTorch 1.7.1をインストールする場合は、次のコマンドを実行します。
pip3 install torch==1.7.1+cu110 torchvision==0.8.2+cu110 \
-f https://download.pytorch.org/whl/torch/
Bladeのホイールパッケージを取り付ける
Bladeのホイールパッケージは、モデルフレームワークとバージョン、デバイスタイプ、CUDAバージョンによって異なります。 実際の環境に基づいて適切なホイールパッケージをインストールする必要があります。 最新バージョンのBladeのホイールパッケージをインストールするには、次のいずれかのコマンドを実行します。 過去のバージョンのインストールコマンドの詳細については、「付録: 以前のバージョンのPAI-BladeのインストールコマンドとSDKダウンロードURL」をご参照ください。
CPU
TensorFlow 1.15.0およびPyTorch 1.6.0
# pai_blade_cpu pip3 install pai_blade_cpu==3.27.0+1.15.0.1.6.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html # tensorflow_blade_cpu pip3 install tensorflow_blade_cpu==3.27.0+1.15.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html # torch_blade_cpu pip3 install torch_blade_cpu==3.27.0+1.6.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html
TensorFlow 2.4.0およびPyTorch 1.7.1
# pai_blade_cpu pip3 install pai_blade_cpu==3.27.0+2.4.0.1.7.1 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html # tensorflow_blade_cpu pip3 install tensorflow_blade_cpu==3.27.0+2.4.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html # torch_blade_cpu pip3 install torch_blade_cpu==3.27.0+1.7.1 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html
PyTorch 1.8.1
# pai_blade_cpu pip3 install pai_blade_cpu==3.27.0+1.8.1 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html # torch_blade_cpu pip3 install torch_blade_cpu==3.27.0+1.8.1 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html
PyTorch 1.9.0
# pai_blade_cpu pip3 install pai_blade_cpu==3.27.0+1.9.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html # torch_blade_cpu pip3 install torch_blade_cpu==3.27.0+1.9.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html
TensorFlow 2.7.0およびPyTorch 1.10.0
# pai_blade_cpu pip3 install pai_blade_cpu==3.27.0+2.7.0.1.10.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html # tensorflow_blade_cpu pip3 install tensorflow_blade_cpu==3.27.0+2.7.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html # torch_blade_cpu pip3 install torch_blade_cpu==3.27.0+1.10.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html
CUDA 11.0
TensorFlow 2.4.0およびPyTorch 1.7.1
# pai_blade_gpu pip3 install pai_blade_gpu==3.27.0+cu110.2.4.0.1.7.1 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html # tensorflow_blade_gpu pip3 install tensorflow_blade_gpu==3.27.0+cu110.2.4.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html # torch_blade pip3 install torch_blade==3.27.0+1.7.1.cu110 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html
CUDA 11.1
PyTorch 1.8.1
# pai_blade_gpu pip3 install pai_blade_gpu==3.27.0+cu111.1.8.1 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html # torch_blade pip3 install torch_blade==3.27.0+1.8.1.cu111 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html
PyTorch 1.9.0
# pai_blade_gpu pip3 install pai_blade_gpu==3.27.0+cu111.1.9.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html # torch_blade pip3 install torch_blade==3.27.0+1.9.0.cu111 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html
PyTorch 1.10.0
# pai_blade_gpu pip3 install pai_blade_gpu==3.27.0+cu111.1.10.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html # torch_blade pip3 install torch_blade==3.27.0+1.10.0.cu111 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html
CUDA 11.2
TensorFlow 2.7.0
# pai_blade_gpu pip3 install pai_blade_gpu==3.27.0+cu112.2.7.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html # tensorflow_blade_gpu pip3 install tensorflow_blade_gpu==3.27.0+cu112.2.7.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html
CUDA 11.3
PyTorch 1.10.0
# pai_blade_gpu pip3 install pai_blade_gpu==3.27.0+cu113.1.11.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html # torch_blade pip3 install torch_blade==3.27.0+1.11.0.cu113 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html
PyTorch 1.12.1
# pai_blade_gpu pip3 install pai_blade_gpu==3.27.0+cu113.1.12.1 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html # torch_blade pip3 install torch_blade==3.27.0+1.12.1.cu113 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html
Blade用SDKのインストール
SDK for Bladeは、LinuxのGNUコンパイラコレクション (GCC) のみをサポートします。 便宜上、Bladeは異なるGCC ABIを含む2種類のSDKパッケージを提供しています。 詳細については、GCC ABIの公式ドキュメントをご参照ください。
GCCのバージョンが5.1より前の場合、または
_GLIBCXX_USE_CXX11_ABI=0
マクロが設定されている場合は、pre-cxx11のABIを含むSDKをインストールします。GCCのバージョンが5.1以降で、
_GLIBCXX_USE_CXX11_ABI=0
マクロが設定されていない場合は、cxx11 ABIを含むSDKをインストールします。
PAI-Blade SDKは、さまざまなLinuxディストリビューション用に次のパッケージ形式も提供します。
RPM形式のSDKパッケージ: CentOSおよびRed Hatに適用でき、rpmコマンドを使用してインストールできます。
DEBパッケージ: UbuntuとDebianに適用されます。
dpkg
コマンドを実行して、DEBパッケージをインストールできます。TGZ形式のSDKパッケージ: さまざまなLinuxディストリビューションに適用可能で、解凍後に使用できます。
たとえば、次のいずれかのコマンドを実行して、pre-cxx11 ABIを含み、ブレードV3.23.0用のCUDA 11.0をサポートするSDKパッケージをインストールできます。
RPM形式のSDKパッケージ
rpm -ivh https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/3.23.0/py3.6.8_cu110_tf2.4.0_torch1.7.1_abiprecxx11/blade_cpp_sdk_gpu-3.23.0-Linux.rpm
DEB形式のSDKパッケージ
wget https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/3.23.0/py3.6.8_cu110_tf2.4.0_torch1.7.1_abiprecxx11/blade_cpp_sdk_gpu-3.23.0-Linux.deb dpkg-blade_cpp_sdk_gpu-3.23.0-Linux.deb
デフォルトでは、RPMまたはDEB形式のSDKパッケージは /usr/localディレクトリにインストールされます。 次のセクションでは、インストールまたは解凍後のSDKパッケージのディレクトリ構造を示します。
/usr/local/
├── bin
│ ├── disc_compiler_main
│ └── tao_compiler_main
└── lib
├── libral_base_context.so
├── libtao_ops.so
├── libtf_blade.so
├── libtorch_blade.so
└── mlir_disc_builder.so
モデルを配置するときは、/usr/local/libサブディレクトリにあるダイナミックリンクライブラリが使用されます。
次のセクションでは、最新バージョンのSDK for C ++ のダウンロードURLを示します。 履歴バージョンのダウンロードURLの詳細については、「付録: 以前のバージョンのPAI-BladeのインストールコマンドとSDKダウンロードURL」をご参照ください。
CXX11 ABI
Pre-CXX11 ABI
CPU
CUDA 11.0
CUDA 11.1
CUDA 11.2
CUDA 11.3
アクセストークンの取得
SDK for Bladeを実行するにはアクセストークンが必要で、Alibaba Cloudで実行できます。 無料トライアルのアクセストークンを取得するには、BladeユーザーのDingTalkグループに参加できます (グループID: 21946131) 。
オンプレミスのデバイスにモデル最適化のためのBladeをインストールする
Bladeでは、TensorFlowモデルから変換されたMNNモデルを使用して、オンデバイスモデルの最適化を実行できます。 TensorFlowとMNNを事前インストールする必要があります。 次のコマンドを実行してTensorFlowとMNNをインストールします。
pip3 install tensorflow==1.15 MNN==1.1.0
GPUまたはCPUバージョンのBladeをデバイス上のモデル最適化に使用できます。 次のいずれかのコマンドを実行して、Bladeのホイールパッケージをインストールします。
GPUをインストールした場合は、次のコマンドを実行します。
pip3 install pai-blade-gpu \ -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html
GPUがインストールされていない場合は、次のコマンドを実行します。
pip3 install pai-blade-cpu \ -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html