ApacheMXNet-MXNetのインストール

MXNetの使用を開始するには、最初に行う必要があるのは、MXNetをコンピューターにインストールすることです。Apache MXNetは、Windows、Mac、Linuxなど、利用可能なほぼすべてのプラットフォームで動作します。

Linux OS

次の方法でLinuxOSにMXNetをインストールできます-

グラフィックプロセッシングユニット(GPU)

ここでは、処理にGPUを使用しているときに、Pip、Docker、Sourceなどのさまざまな方法を使用してMXNetをインストールします。

Pipメソッドを使用する

次のコマンドを使用して、LinusOSにMXNetをインストールできます-

pip install mxnet

Apache MXNetは、Intelハードウェアで実行するとはるかに高速なMKLpipパッケージも提供します。ここで例えばmxnet-cu101mkl つまり、−

  • パッケージはCUDA / cuDNNで構築されています

  • パッケージはMKL-DNN対応です

  • CUDAバージョンは10.1です

他のオプションについては、参照することもできます https://pypi.org/project/mxnet/。

Dockerを使用する

MXNetを使用したDockerイメージは、DockerHubで見つけることができます。 https://hub.docker.com/u/mxnet 以下の手順を確認して、GPUでDockerを使用してMXNetをインストールしましょう-

Step 1−まず、次のURLで入手できるDockerのインストール手順に従います。 https://docs.docker.com/engine/install/ubuntu/。マシンにDockerをインストールする必要があります。

Step 2− DockerコンテナからGPUを使用できるようにするには、次にnvidia-docker-pluginをインストールする必要があります。に記載されているインストール手順に従うことができますhttps://github.com/NVIDIA/nvidia-docker/wiki。

Step 3−次のコマンドを使用して、MXNetdockerイメージをプルできます−

$ sudo docker pull mxnet/python:gpu

ここで、mxnet / python docker image pullが成功したかどうかを確認するために、次のようにdockerイメージを一覧表示できます。

$ sudo docker images

MXNetでの推論速度を最速にするには、IntelMKL-DNNで最新のMXNetを使用することをお勧めします。以下のコマンドを確認してください-

$ sudo docker pull mxnet/python:1.3.0_cpu_mkl
$ sudo docker images

ソースから

GPUを使用してソースからMXNet共有ライブラリを構築するには、最初にCUDAとcuDNNの環境を次のように設定する必要があります-

  • CUDAツールキットをダウンロードしてインストールします。ここではCUDA9.2をお勧めします。

  • 次に、cuDNN7.1.4をダウンロードします。

  • 次に、ファイルを解凍する必要があります。また、cuDNNルートディレクトリに移動する必要があります。また、次のようにヘッダーとライブラリをローカルのCUDAToolkitフォルダーに移動します-

tar xvzf cudnn-9.2-linux-x64-v7.1
sudo cp -P cuda/include/cudnn.h /usr/local/cuda/include
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
sudo ldconfig

CUDAとcuDNNの環境をセットアップした後、以下の手順に従って、ソースからMXNet共有ライブラリを構築します-

Step 1−まず、前提条件のパッケージをインストールする必要があります。これらの依存関係は、Ubuntuバージョン16.04以降で必要です。

sudo apt-get update
sudo apt-get install -y build-essential git ninja-build ccache libopenblas-dev 
libopencv-dev cmake

Step 2−このステップでは、MXNetソースをダウンロードして構成します。まず、次のコマンドを使用してリポジトリのクローンを作成しましょう-

git clone –recursive https://github.com/apache/incubator-mxnet.git mxnet
cd mxnet
cp config/linux_gpu.cmake #for build with CUDA

Step 3−次のコマンドを使用して、MXNetコア共有ライブラリを構築できます−

rm -rf build
mkdir -p build && cd build
cmake -GNinja ..
cmake --build .

Two important points regarding the above step is as follows−

デバッグバージョンをビルドする場合は、次のように指定します-

cmake -DCMAKE_BUILD_TYPE=Debug -GNinja ..

並列コンパイルジョブの数を設定するには、以下を指定します。

cmake --build . --parallel N

MXNetコア共有ライブラリを正常に構築したら、 build あなたのフォルダ MXNet project root, 見つけるだろう libmxnet.so これは、言語バインディングをインストールするために必要です(オプション)。

中央処理装置(CPU)

ここでは、処理にCPUを使用しているときに、Pip、Docker、Sourceなどのさまざまな方法を使用してMXNetをインストールします。

Pipメソッドを使用する

次のコマンドを使用して、LinusOSにMXNetをインストールできます-

pip install mxnet

Apache MXNetは、Intelハードウェアで実行する場合にはるかに高速なMKL-DNN対応のpipパッケージも提供します。

pip install mxnet-mkl

Dockerを使用する

MXNetを使用したDockerイメージは、DockerHubで見つけることができます。 https://hub.docker.com/u/mxnet。以下の手順を確認して、CPUでDockerを使用してMXNetをインストールしましょう-

Step 1−まず、次のURLで入手できるDockerのインストール手順に従います。 https://docs.docker.com/engine/install/ubuntu/。マシンにDockerをインストールする必要があります。

Step 2−次のコマンドを使用して、MXNetDockerイメージをプルできます。

$ sudo docker pull mxnet/python

ここで、mxnet / python docker image pullが成功したかどうかを確認するために、次のようにdockerイメージを一覧表示できます。

$ sudo docker images

MXNetでの推論速度を最速にするには、IntelMKL-DNNで最新のMXNetを使用することをお勧めします。

以下のコマンドを確認してください-

$ sudo docker pull mxnet/python:1.3.0_cpu_mkl
$ sudo docker images

ソースから

CPUを使用してソースからMXNet共有ライブラリを構築するには、以下の手順に従います。

Step 1−まず、前提条件のパッケージをインストールする必要があります。これらの依存関係は、Ubuntuバージョン16.04以降で必要です。

sudo apt-get update

sudo apt-get install -y build-essential git ninja-build ccache libopenblas-dev libopencv-dev cmake

Step 2−このステップでは、MXNetソースをダウンロードして構成します。まず、次のコマンドを使用してリポジトリのクローンを作成しましょう。

git clone –recursive https://github.com/apache/incubator-mxnet.git mxnet

cd mxnet
cp config/linux.cmake config.cmake

Step 3−次のコマンドを使用して、MXNetコア共有ライブラリを構築できます。

rm -rf build
mkdir -p build && cd build
cmake -GNinja ..
cmake --build .

Two important points regarding the above step is as follows−

デバッグバージョンをビルドする場合は、次のように指定します。

cmake -DCMAKE_BUILD_TYPE=Debug -GNinja ..

並列コンパイルジョブの数を設定するには、以下を指定します-

cmake --build . --parallel N

MXNetコア共有ライブラリを正常に構築したら、 build MXNetプロジェクトルートのフォルダーには、言語バインディングをインストールするために必要なlibmxnet.soがあります(オプション)。

マックOS

次の方法でMacOSにMXNetをインストールできます-

グラフィックプロセッシングユニット(GPU)

GPUを搭載したMacOSでMXNetを構築する場合、PipとDockerの方法は利用できません。この場合の唯一の方法は、ソースからビルドすることです。

ソースから

GPUを使用してソースからMXNet共有ライブラリを構築するには、最初にCUDAとcuDNNの環境をセットアップする必要があります。あなたは従う必要がありますNVIDIA CUDA Installation Guide これはで利用可能です https://docs.nvidia.com そして cuDNN Installation Guide, これはで利用可能です https://docs.nvidia.com/deeplearning MacOS用。

2019年にCUDAはmacOSのサポートを停止したことに注意してください。実際、CUDAの将来のバージョンもmacOSをサポートしない可能性があります。

CUDAとcuDNNの環境をセットアップしたら、以下の手順に従って、OS X(Mac)のソースからMXNetをインストールします-

Step 1− OS xに依存する必要があるため、まず、前提条件のパッケージをインストールする必要があります。

xcode-select –-install #Install OS X Developer Tools

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" #Install Homebrew

brew install cmake ninja ccache opencv # Install dependencies

opencvはオプションの依存関係であるため、OpenCVなしでMXNetをビルドすることもできます。

Step 2−このステップでは、MXNetソースをダウンロードして構成します。まず、次のコマンドを使用してリポジトリのクローンを作成しましょう-

git clone –-recursive https://github.com/apache/incubator-mxnet.git mxnet

cd mxnet
cp config/linux.cmake config.cmake

GPU対応の場合、GPUのないマシンでGPU対応のビルドをビルドしようとすると、MXNetビルドがGPUアーキテクチャを自動検出できないため、最初にCUDA依存関係をインストールする必要があります。このような場合、MXNetは利用可能なすべてのGPUアーキテクチャを対象とします。

Step 3−次のコマンドを使用して、MXNetコア共有ライブラリを構築できます−

rm -rf build
mkdir -p build && cd build
cmake -GNinja ..
cmake --build .

上記のステップに関する2つの重要なポイントは次のとおりです-

デバッグバージョンをビルドする場合は、次のように指定します-

cmake -DCMAKE_BUILD_TYPE=Debug -GNinja ..

並列コンパイルジョブの数を設定するには、以下を指定します。

cmake --build . --parallel N

MXNetコア共有ライブラリを正常に構築したら、 build あなたのフォルダ MXNet project root, 見つけるだろう libmxnet.dylib, これは、言語バインディングをインストールするために必要です(オプション)。

中央処理装置(CPU)

ここでは、処理にCPUを使用しているときに、Pip、Docker、Sourceなどのさまざまな方法を使用してMXNetをインストールします。

Pipメソッドを使用する

次のコマンドを使用して、LinusOSにMXNetをインストールできます。

pip install mxnet

Dockerを使用する

MXNetを使用したDockerイメージは、DockerHubで見つけることができます。 https://hub.docker.com/u/mxnet。以下の手順を確認して、CPUでDockerを使用してMXNetをインストールしましょう-

Step 1−まず、以下に従ってください docker installation instructions で利用可能です https://docs.docker.com/docker-for-mac マシンにDockerをインストールする必要があります。

Step 2−次のコマンドを使用して、MXNet Dockerイメージをプルできます−

$ docker pull mxnet/python

ここで、mxnet / python docker image pullが成功したかどうかを確認するために、次のようにdockerイメージを一覧表示できます。

$ docker images

MXNetでの推論速度を最速にするには、IntelMKL-DNNで最新のMXNetを使用することをお勧めします。以下のコマンドを確認してください-

$ docker pull mxnet/python:1.3.0_cpu_mkl
$ docker images

ソースから

以下の手順に従って、OS X(Mac)のソースからMXNetをインストールします-

Step 1− OS xへの依存関係が必要なため、最初に前提条件パッケージをインストールする必要があります。

xcode-select –-install #Install OS X Developer Tools
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" #Install Homebrew
brew install cmake ninja ccache opencv # Install dependencies

opencvはオプションの依存関係であるため、OpenCVなしでMXNetをビルドすることもできます。

Step 2−このステップでは、MXNetソースをダウンロードして構成します。まず、次のコマンドを使用してリポジトリのクローンを作成しましょう-

git clone –-recursive https://github.com/apache/incubator-mxnet.git mxnet

cd mxnet

cp config/linux.cmake config.cmake

Step 3−次のコマンドを使用して、MXNetコア共有ライブラリを構築できます。

rm -rf build
mkdir -p build && cd build
cmake -GNinja ..
cmake --build .

Two important points regarding the above step is as follows−

デバッグバージョンをビルドする場合は、次のように指定します-

cmake -DCMAKE_BUILD_TYPE=Debug -GNinja ..

並列コンパイルジョブの数を設定するには、以下を指定します-

cmake --build . --parallel N

MXNetコア共有ライブラリを正常に構築したら、 build あなたのフォルダ MXNet project root, 見つけるだろう libmxnet.dylib, これは、言語バインディングをインストールするために必要です(オプション)。

Windows OS

MXNetをWindowsにインストールするには、以下が前提条件です-

最小システム要件

  • Windows 7、10、Server 2012 R2、またはServer 2016

  • Visual Studio 2015または2017(任意のタイプ)

  • Python2.7または3.6

  • pip

推奨されるシステム要件

  • Windows 10、Server 2012 R2、またはServer 2016

  • Visual Studio 2017

  • 少なくとも1つのNVIDIACUDA対応GPU

  • MKL対応CPU:インテル®Xeon®プロセッサー、インテル®Core™プロセッサー・ファミリー、インテルAtom®プロセッサー、またはインテル®XeonPhi™プロセッサー

  • Python2.7または3.6

  • pip

グラフィックプロセッシングユニット(GPU)

Pipメソッドを使用する-

NVIDIA GPUを搭載したWindowsでMXNetを構築することを計画している場合、Pythonパッケージを使用してCUDAをサポートするMXNetをインストールするための2つのオプションがあります-

CUDAサポート付きでインストール

以下は、CUDAを使用してMXNetをセットアップできる手順です。

Step 1−最初にMicrosoft Visual Studio2017またはMicrosoftVisual Studio2015をインストールします。

Step 2−次に、NVIDIACUDAをダウンロードしてインストールします。CUDA 9.1のいくつかの問題が過去に確認されているため、CUDAバージョン9.2または9.0を使用することをお勧めします。

Step 3−次に、NVIDIA_CUDA_DNNをダウンロードしてインストールします。

Step 4−最後に、次のpipコマンドを使用して、CUDAを使用してMXNetをインストールします−

pip install mxnet-cu92

CUDAおよびMKLサポートを使用してインストール

以下は、CUDAとMKLを使用してMXNetをセットアップできる手順です。

Step 1−最初にMicrosoft Visual Studio2017またはMicrosoftVisual Studio2015をインストールします。

Step 2−次に、インテル®MKLをダウンロードしてインストールします

Step 3−次に、NVIDIACUDAをダウンロードしてインストールします。

Step 4−次に、NVIDIA_CUDA_DNNをダウンロードしてインストールします。

Step 5−最後に、次のpipコマンドを使用して、MKLを使用してMXNetをインストールします。

pip install mxnet-cu92mkl

ソースから

GPUを使用してソースからMXNetコアライブラリを構築するには、次の2つのオプションがあります-

Option 1− Build with Microsoft Visual Studio 2017

Microsoft Visual Studio 2017を使用してMXNetを自分でビルドおよびインストールするには、次の依存関係が必要です。

Install/update Microsoft Visual Studio.

  • Microsoft Visual Studioがまだマシンにインストールされていない場合は、最初にダウンロードしてインストールします。

  • Gitのインストールについてプロンプトが表示されます。それもインストールしてください。

  • Microsoft Visual Studioが既にマシンにインストールされているが、それを更新する場合は、次の手順に進んでインストールを変更します。ここでは、Microsoft VisualStudioも更新する機会が与えられます。

で入手可能なVisualStudioインストーラーを開くための指示に従います。 https://docs.microsoft.com/en-us 個々のコンポーネントを変更します。

Visual Studioインストーラーアプリケーションで、必要に応じて更新します。その後、探して確認してくださいVC++ 2017 version 15.4 v14.11 toolset をクリックします Modify

次のコマンドを使用して、MicrosoftVS2017のバージョンをv14.11-に変更します。

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" -vcvars_ver=14.11

次に、ダウンロードしてインストールする必要があります CMake で利用可能 https://cmake.org/download/ 使用をお勧めします CMake v3.12.2 これはで利用可能です https://cmake.org/download/ MXNetでテストされているためです。

今、ダウンロードして実行します OpenCV パッケージはで入手可能 https://sourceforge.net/projects/opencvlibrary/これにより、いくつかのファイルが解凍されます。それらを別のディレクトリに配置するかどうかはあなた次第です。ここでは、パスを使用しますC:\utils(mkdir C:\utils) デフォルトのパスとして。

次に、解凍​​したばかりのOpenCVビルドディレクトリを指すように環境変数OpenCV_DIRを設定する必要があります。このオープンコマンドプロンプトに対して、次のように入力しますset OpenCV_DIR=C:\utils\opencv\build

重要な点の1つは、Intel MKL(Math Kernel Library)がインストールされていない場合は、インストールできるということです。

使用できるもう1つのオープンソースパッケージは OpenBLAS。ここでは、使用していると想定している詳細な手順について説明しますOpenBLAS

だから、ダウンロード OpenBlas で入手可能なパッケージ https://sourceforge.net ファイルを解凍し、名前を次のように変更します OpenBLAS そしてそれを下に置きます C:\utils

次に、環境変数を設定する必要があります OpenBLAS_HOME を含むOpenBLASディレクトリを指す include そして libディレクトリ。このオープンコマンドプロンプトに対して、次のように入力しますset OpenBLAS_HOME=C:\utils\OpenBLAS

今、で利用可能なCUDAをダウンロードしてインストールします https://developer.nvidia.com。すでにCUDAを持っていて、Microsoft VS2017をインストールしている場合は、今すぐCUDAを再インストールして、MicrosoftVS2017統合用のCUDAツールキットコンポーネントを入手できるようにする必要があることに注意してください。

次に、cuDNNをダウンロードしてインストールする必要があります。

次に、にあるgitをダウンロードしてインストールする必要があります https://gitforwindows.org/ また。

必要なすべての依存関係をインストールしたら、以下の手順に従ってMXNetソースコードをビルドします-

Step 1−Windowsでコマンドプロンプトを開きます。

Step 2−ここで、次のコマンドを使用して、GitHubからMXNetソースコードをダウンロードします。

cd C:\

git clone https://github.com/apache/incubator-mxnet.git --recursive

Step 3−次に、以下を確認します−

DCUDNN_INCLUDE and DCUDNN_LIBRARY 環境変数は include フォルダと cudnn.lib CUDAのインストール場所のファイル

C:\incubator-mxnet 前の手順で複製したソースコードの場所です。

Step 4−次に、次のコマンドを使用して、ビルドを作成します directory また、たとえば、ディレクトリに移動します-

mkdir C:\incubator-mxnet\build
cd C:\incubator-mxnet\build

Step 5−ここで、cmakeを使用して、MXNetソースコードを次のようにコンパイルします−

cmake -G "Visual Studio 15 2017 Win64" -T cuda=9.2,host=x64 -DUSE_CUDA=1 -DUSE_CUDNN=1 -DUSE_NVRTC=1 -DUSE_OPENCV=1 -DUSE_OPENMP=1 -DUSE_BLAS=open -DUSE_LAPACK=1 -DUSE_DIST_KVSTORE=0 -DCUDA_ARCH_LIST=Common -DCUDA_TOOLSET=9.2 -DCUDNN_INCLUDE=C:\cuda\include -DCUDNN_LIBRARY=C:\cuda\lib\x64\cudnn.lib "C:\incubator-mxnet"

Step 6− CMakeが正常に完了したら、次のコマンドを使用してMXNetソースコードをコンパイルします−

msbuild mxnet.sln /p:Configuration=Release;Platform=x64 /maxcpucount

Option 2: Build with Microsoft Visual Studio 2015

Microsoft Visual Studio 2015を使用してMXNetを自分でビルドおよびインストールするには、次の依存関係が必要です。

Microsoft Visual Studio2015をインストール/更新します。ソースからMXnetをビルドするための最小要件は、Microsoft Visual Studio2015のUpdate3です。次を使用できます。 Tools -> Extensions and Updates... | Product Updates それをアップグレードするためのメニュー。

次に、ダウンロードしてインストールする必要があります CMake これはで利用可能です https://cmake.org/download/。使用をお勧めしますCMake v3.12.2 にあります https://cmake.org/download/、MXNetでテストされているため。

次に、で入手可能なOpenCVパッケージをダウンロードして実行します。 https://excellmedia.dl.sourceforge.netこれにより、いくつかのファイルが解凍されます。それらを別のディレクトリに配置するかどうかは、あなた次第です。

次に、環境変数を設定する必要があります OpenCV_DIR を指す OpenCV解凍したばかりのビルドディレクトリ。このためには、コマンドプロンプトを開き、setと入力しますOpenCV_DIR=C:\opencv\build\x64\vc14\bin

重要な点の1つは、Intel MKL(Math Kernel Library)がインストールされていない場合は、インストールできるということです。

使用できるもう1つのオープンソースパッケージは OpenBLAS。ここでは、使用していると想定している詳細な手順について説明しますOpenBLAS

だから、ダウンロード OpenBLAS パッケージはで入手可能 https://excellmedia.dl.sourceforge.net ファイルを解凍し、名前をOpenBLASに変更して、C:\ utilsの下に置きます。

次に、環境変数OpenBLAS_HOMEを設定して、includeディレクトリとlibディレクトリを含むOpenBLASディレクトリを指すようにする必要があります。あなたはでディレクトリを見つけることができますC:\Program files (x86)\OpenBLAS\

すでにCUDAを持っていて、Microsoft VS2015をインストールしている場合は、今すぐCUDAを再インストールして、MicrosoftVS2017統合用のCUDAツールキットコンポーネントを入手できるようにする必要があることに注意してください。

次に、cuDNNをダウンロードしてインストールする必要があります。

次に、環境変数CUDACXXを設定して、を指すようにする必要があります。 CUDA Compiler(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin\nvcc.exe 例えば)。

同様に、環境変数も設定する必要があります CUDNN_ROOT を指す cuDNN を含むディレクトリ include, lib そして bin ディレクトリ(C:\Downloads\cudnn-9.1-windows7-x64-v7\cuda 例えば)。

必要なすべての依存関係をインストールしたら、以下の手順に従ってMXNetソースコードをビルドします-

Step 1−まず、GitHubからMXNetソースコードをダウンロードします−

cd C:\
git clone https://github.com/apache/incubator-mxnet.git --recursive

Step 2−次に、CMakeを使用して./buildにVisualStudioを作成します。

Step 3−ここで、Visual Studioで、ソリューションファイルを開く必要があります。.sln、そしてそれをコンパイルします。これらのコマンドは、と呼ばれるライブラリを生成しますmxnet.dll の中に ./build/Release/ or ./build/Debug フォルダ

Step 4− CMakeが正常に完了したら、次のコマンドを使用してMXNetソースコードをコンパイルします

msbuild mxnet.sln /p:Configuration=Release;Platform=x64 /maxcpucount

中央処理装置(CPU)

ここでは、処理にCPUを使用しているときに、Pip、Docker、Sourceなどのさまざまな方法を使用してMXNetをインストールします。

Pipメソッドを使用する

CPUを搭載したWindowsでMXNetを構築する場合、Pythonパッケージを使用してMXNetをインストールするための2つのオプションがあります-

Install with CPUs

次のコマンドを使用して、Pythonを搭載したCPUを搭載したMXNetをインストールします-

pip install mxnet

Install with Intel CPUs

上で説明したように、MXNetはIntelMKLとMKL-DNNを実験的にサポートしています。次のコマンドを使用して、Pythonを搭載したIntelCPUを搭載したMXNetをインストールします-

pip install mxnet-mkl

Dockerを使用する

MXNetを使用したDockerイメージは次の場所にあります。 DockerHub、で入手可能 https://hub.docker.com/u/mxnet 以下の手順を確認して、CPUでDockerを使用してMXNetをインストールします-

Step 1−まず、次のURLで読むことができるDockerのインストール手順に従います。 https://docs.docker.com/docker-for-mac/install。マシンにDockerをインストールする必要があります。

Step 2−次のコマンドを使用して、MXNet Dockerイメージをプルできます−

$ docker pull mxnet/python

ここで、mxnet / python docker image pullが成功したかどうかを確認するために、次のようにdockerイメージを一覧表示できます。

$ docker images

MXNetでの推論速度を最速にするには、IntelMKL-DNNで最新のMXNetを使用することをお勧めします。

以下のコマンドを確認してください-

$ docker pull mxnet/python:1.3.0_cpu_mkl
$ docker images

MXNetをクラウドとデバイスにインストールする

このセクションでは、ApacheMXNetをクラウドおよびデバイスにインストールする方法について説明します。クラウドへのMXNetのインストールについて学ぶことから始めましょう。

MXNet OnCloudのインストール

いくつかのクラウドプロバイダーでApacheMXNetを入手することもできます。 Graphical Processing Unit (GPU)サポート。あなたが見つけることができる他の2種類のサポートは次のとおりです-

  • GPU / CPU-スケーラブルな推論などのユースケースのハイブリッドサポート。
  • AWS ElasticInferenceによる階乗GPUのサポート。

以下は、ApacheMXNet用のさまざまな仮想マシンでGPUサポートを提供するクラウドプロバイダーです。

アリババコンソール

あなたは作成することができます NVIDIA GPU Cloud Virtual Machine (VM) で利用可能 https://docs.nvidia.com/ngc アリババコンソールで、ApacheMXNetを使用します。

アマゾンウェブサービス

また、GPUサポートを提供し、ApacheMXNetに次のサービスを提供します-

Amazon SageMaker

ApacheMXNetモデルのトレーニングとデプロイを管理します。

AWSディープラーニングAMI

これは、Apache MXNet、CUDA、cuDNN、MKL-DNN、およびAWS ElasticInferenceを備えたPython2とPython3の両方にプリインストールされたConda環境を提供します。

AWSでの動的トレーニング

実験的な手動EC2セットアップと半自動CloudFormationセットアップのトレーニングを提供します。

使用できます NVIDIA VM で利用可能 https://aws.amazon.com アマゾンウェブサービスで。

Google Cloud Platform

グーグルも提供しています NVIDIA GPU cloud image これはで利用可能です https://console.cloud.google.com ApacheMXNetで動作します。

Microsoft Azure

Microsoft AzureMarketplaceも提供しています NVIDIA GPU cloud image で利用可能 https://azuremarketplace.microsoft.com ApacheMXNetで動作します。

Oracle Cloud

オラクルも提供しています NVIDIA GPU cloud image で利用可能 https://docs.cloud.oracle.com ApacheMXNetで動作します。

中央処理装置(CPU)

Apache MXNetは、すべてのクラウドプロバイダーのCPUのみのインスタンスで動作します。インストールには、次のようなさまざまな方法があります。

  • Pythonpipのインストール手順。

  • Dockerの指示。

  • AWS Deep LearningAMIを提供するAmazonWeb Servicesのようなプレインストールされたオプション(Python2とPython3の両方にMXNetとMKL-DNNを備えたコンダ環境がプレインストールされています)。

デバイスへのMXNetのインストール

MXNetをデバイスにインストールする方法を学びましょう。

ラズベリーパイ

MXNetはRespbianARMベースのOSもサポートしているため、Raspberry Pi3BデバイスでApacheMXNetを実行することもできます。Raspberry Pi3でMXNetをスムーズに実行するには、1GBを超えるRAMと4GB以上の空き容量のあるSDカードを備えたデバイスを用意することをお勧めします。

以下は、Raspberry Pi用のMXNetを構築し、ライブラリ用のPythonバインディングをインストールする方法です。

クイックインストール

ビルド済みのPythonホイールは、Stretchを備えたRaspberry Pi 3Bで使用して、すばやくインストールできます。この方法の重要な問題の1つは、ApacheMXNetを機能させるためにいくつかの依存関係をインストールする必要があることです。

Dockerのインストール

Dockerのインストール手順に従うことができます。 https://docs.docker.com/engine/install/ubuntu/マシンにDockerをインストールします。この目的のために、Community Edition(CE)をインストールして使用することもできます。

ネイティブビルド(ソースから)

MXNetをソースからインストールするには、次の2つの手順に従う必要があります-

ステップ1

Build the shared library from the Apache MXNet C++ source code

RaspberryバージョンのWheezy以降で共有ライブラリを構築するには、次の依存関係が必要です。

  • Git−GitHubからコードをプルする必要があります。

  • Libblas−線形代数演算に必要です。

  • Libopencv−コンピュータビジョン関連の操作に必要です。ただし、RAMとディスク容量を節約したい場合はオプションです。

  • C++ Compiler−MXNetソースコードをコンパイルしてビルドする必要があります。以下は、C ++ 11-をサポートするサポートされているコンパイラです。

    • G ++(4.8以降のバージョン)

    • Clang(3.9-6)

次のコマンドを使用して、上記の依存関係をインストールします-

sudo apt-get update
sudo apt-get -y install git cmake ninja-build build-essential g++-4.9 c++-4.9 liblapack*
libblas* libopencv*
libopenblas* python3-dev python-dev virtualenv

次に、MXNetソースコードリポジトリのクローンを作成する必要があります。これには、ホームディレクトリで次のgitコマンドを使用します-

git clone https://github.com/apache/incubator-mxnet.git --recursive

cd incubator-mxnet

次に、次のコマンドを使用して、共有ライブラリを構築します。

mkdir -p build && cd build
cmake \
-DUSE_SSE=OFF \
-DUSE_CUDA=OFF \
-DUSE_OPENCV=ON \
-DUSE_OPENMP=ON \
-DUSE_MKL_IF_AVAILABLE=OFF \
-DUSE_SIGNAL_HANDLER=ON \

-DCMAKE_BUILD_TYPE=Release \
-GNinja ..
ninja -j$(nproc)

上記のコマンドを実行すると、ビルドプロセスが開始され、完了するまでに数時間かかります。あなたはという名前のファイルを取得しますlibmxnet.so ビルドディレクトリにあります。

ステップ2

Install the supported language-specific packages for Apache MXNet

このステップでは、MXNetPythinバインディングをインストールします。これを行うには、MXNetディレクトリで次のコマンドを実行する必要があります-

cd python
pip install --upgrade pip
pip install -e .

または、次のコマンドを使用して、 whl package でインストール可能 pip

ci/docker/runtime_functions.sh build_wheel python/ $(realpath build)

NVIDIAJetsonデバイス

次のようなNVIDIAJetsonデバイスでApacheMXNetを実行することもできます。 TX2 または NanoMXNetはUbuntuArch64ベースのOSもサポートしているため。NVIDIA JetsonデバイスでMXNetをスムーズに実行するには、JetsonデバイスにCUDAをインストールする必要があります。

以下は、NVIDIAJetsonデバイス用のMXNetを構築するための方法です。

  • Python開発にJetsonMXNetピップホイールを使用する

  • ソースから

ただし、上記のいずれかの方法でMXNetを構築する前に、Jetsonデバイスに次の依存関係をインストールする必要があります-

Pythonの依存関係

Python APIを使用するには、次の依存関係が必要です-

sudo apt update
sudo apt -y install \
   build-essential \
   git \
   graphviz \
   libatlas-base-dev \
   libopencv-dev \
   python-pip
sudo pip install --upgrade \
   pip \
   setuptools
sudo pip install \
   graphviz==0.8.4 \
   jupyter \
   numpy==1.15.2

MXNetソースコードリポジトリのクローンを作成する

ホームディレクトリで次のgitコマンドを使用して、MXNetソースコードリポジトリのクローンを作成します-

git clone --recursive https://github.com/apache/incubator-mxnet.git mxnet

環境変数の設定

以下を追加してください .profile ホームディレクトリ内のファイル-

export PATH=/usr/local/cuda/bin:$PATH
export MXNET_HOME=$HOME/mxnet/
export PYTHONPATH=$MXNET_HOME/python:$PYTHONPATH

ここで、次のコマンドを使用して変更をすぐに適用します-

source .profile

CUDAを構成する

nvccを使用してCUDAを構成する前に、実行されているCUDAのバージョンを確認する必要があります-

nvcc --version

デバイスまたはコンピューターに複数のCUDAバージョンがインストールされていて、CUDAバージョンを切り替えたい場合は、以下を使用して、シンボリックリンクを目的のバージョンに置き換えます。

sudo rm /usr/local/cuda
sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda

上記のコマンドは、NVIDIAJetsonデバイスにプリインストールされているCUDA10.0に切り替わります。 Nano

上記の前提条件を満たしたら、NVIDIAJetsonデバイスにMXNetをインストールできます。それでは、MXNet-をインストールする方法を理解しましょう。

By using a Jetson MXNet pip wheel for Python development−準備されたPythonホイールを使用する場合は、以下をJetsonにダウンロードして実行します−

  • MXNet 1.4.0( Python 3)で入手可能 https://docs.docker.com

  • MXNet 1.4.0( Python 2)で入手可能 https://docs.docker.com

ネイティブビルド(ソースから)

MXNetをソースからインストールするには、次の2つの手順に従う必要があります-

ステップ1

Build the shared library from the Apache MXNet C++ source code

Apache MXNet C ++ソースコードから共有ライブラリを構築するには、Dockerメソッドを使用するか、手動で実行します-

Dockerメソッド

この方法では、最初にDockerをインストールし、sudoなしで実行できるようにする必要があります(これは前の手順でも説明​​されています)。完了したら、以下を実行してDocker-を介したクロスコンパイルを実行します

$MXNET_HOME/ci/build.py -p jetson

マニュアル

この方法では、編集する必要があります Makefile (以下のコマンドを使用)NVIDIA Jetsonデバイスでグラフィックプロセッシングユニット(GPU)を活用するためにCUDAバインディングを使用してMXNetをインストールするには:

cp $MXNET_HOME/make/crosscompile.jetson.mk config.mk

Makefileを編集した後、config.mkファイルを編集して、NVIDIAJetsonデバイスにいくつかの追加の変更を加える必要があります。

このために、次の設定を更新します-

  • CUDAパスを更新します:USE_CUDA_PATH = / usr / local / cuda

  • -gencode arch = compute-63、code = sm_62をCUDA_ARCH設定に追加します。

  • NVCC設定を更新します:NVCCFLAGS:= -m64

  • OpenCVをオンにします:USE_OPENCV = 1

MXNetがPascalのハードウェアレベルの低精度アクセラレーションでビルドされるようにするには、MshadowMakefileを次のように編集する必要があります。

MSHADOW_CFLAGS += -DMSHADOW_USE_PASCAL=1

最後に、次のコマンドを使用して、完全なApacheMXNetライブラリを構築できます-

cd $MXNET_HOME
make -j $(nproc)

上記のコマンドを実行すると、ビルドプロセスが開始され、完了するまでに数時間かかります。あなたはという名前のファイルを取得しますlibmxnet.so の中に mxnet/lib directory

ステップ2

Install the Apache MXNet Python Bindings

このステップでは、MXNetPythonバインディングをインストールします。これを行うには、MXNetディレクトリで次のコマンドを実行する必要があります-

cd $MXNET_HOME/python
sudo pip install -e .

上記の手順が完了すると、NVIDIAJetsonデバイスTX2またはNanoでMXNetを実行する準備が整います。次のコマンドで確認できます-

import mxnet
mxnet.__version__

すべてが正常に機能している場合は、バージョン番号が返されます。