Apache MXNet - Installation von MXNet
Um mit MXNet zu beginnen, müssen wir es zunächst auf unserem Computer installieren. Apache MXNet funktioniert auf nahezu allen verfügbaren Plattformen, einschließlich Windows, Mac und Linux.
Linux-Betriebssystem
Wir können MXNet unter Linux auf folgende Weise installieren:
Grafische Verarbeitungseinheit (GPU)
Hier werden wir verschiedene Methoden verwenden, nämlich Pip, Docker und Source, um MXNet zu installieren, wenn wir GPU für die Verarbeitung verwenden -
Mit der Pip-Methode
Mit dem folgenden Befehl können Sie MXNet auf Ihrem Linus-Betriebssystem installieren:
pip install mxnet
Apache MXNet bietet auch MKL-Pip-Pakete an, die auf Intel-Hardware viel schneller sind. Hier zum Beispielmxnet-cu101mkl bedeutet, dass -
Das Paket wird mit CUDA / cuDNN erstellt
Das Paket ist MKL-DNN-fähig
Die CUDA-Version ist 10.1
Für andere Optionen können Sie auch verweisen https://pypi.org/project/mxnet/.
Mit Docker
Sie finden die Docker-Images mit MXNet bei DockerHub, das unter verfügbar ist https://hub.docker.com/u/mxnet Sehen wir uns die folgenden Schritte an, um MXNet mithilfe von Docker mit GPU zu installieren.
Step 1- Befolgen Sie zunächst die Docker-Installationsanweisungen, die unter verfügbar sind https://docs.docker.com/engine/install/ubuntu/. Wir müssen Docker auf unserem Computer installieren.
Step 2- Um die Verwendung von GPUs aus den Docker-Containern zu ermöglichen, müssen wir als nächstes das nvidia-Docker-Plugin installieren. Sie können den Installationsanweisungen unter folgenhttps://github.com/NVIDIA/nvidia-docker/wiki.
Step 3- Mit dem folgenden Befehl können Sie das MXNet-Docker-Image abrufen. -
$ sudo docker pull mxnet/python:gpu
Um zu sehen, ob das Ziehen von mxnet / python-Docker-Bildern erfolgreich war, können wir Docker-Bilder wie folgt auflisten:
$ sudo docker images
Für die schnellsten Inferenzgeschwindigkeiten mit MXNet wird empfohlen, das neueste MXNet mit Intel MKL-DNN zu verwenden. Überprüfen Sie die folgenden Befehle -
$ sudo docker pull mxnet/python:1.3.0_cpu_mkl
$ sudo docker images
Aus der Quelle
Um die gemeinsam genutzte MXNet-Bibliothek aus dem Quellcode mit der GPU zu erstellen, müssen Sie zunächst die Umgebung für CUDA und cuDNN wie folgt einrichten
Laden Sie das CUDA-Toolkit herunter und installieren Sie es. Hier wird CUDA 9.2 empfohlen.
Nächster Download cuDNN 7.1.4.
Jetzt müssen wir die Datei entpacken. Es ist auch erforderlich, in das Stammverzeichnis cuDNN zu wechseln. Verschieben Sie außerdem den Header und die Bibliotheken wie folgt in den lokalen CUDA Toolkit-Ordner:
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
Führen Sie nach dem Einrichten der Umgebung für CUDA und cuDNN die folgenden Schritte aus, um die gemeinsam genutzte MXNet-Bibliothek aus dem Quellcode zu erstellen.
Step 1- Zuerst müssen wir die erforderlichen Pakete installieren. Diese Abhängigkeiten sind ab Ubuntu Version 16.04 erforderlich.
sudo apt-get update
sudo apt-get install -y build-essential git ninja-build ccache libopenblas-dev
libopencv-dev cmake
Step 2- In diesem Schritt laden wir die MXNet-Quelle herunter und konfigurieren sie. Lassen Sie uns zuerst das Repository mit dem folgenden Befehl klonen
git clone –recursive https://github.com/apache/incubator-mxnet.git mxnet
cd mxnet
cp config/linux_gpu.cmake #for build with CUDA
Step 3- Mit den folgenden Befehlen können Sie eine gemeinsam genutzte MXNet-Kernbibliothek erstellen
rm -rf build
mkdir -p build && cd build
cmake -GNinja ..
cmake --build .
Two important points regarding the above step is as follows−
Wenn Sie die Debug-Version erstellen möchten, geben Sie Folgendes an:
cmake -DCMAKE_BUILD_TYPE=Debug -GNinja ..
Geben Sie Folgendes an, um die Anzahl der parallelen Kompilierungsjobs festzulegen:
cmake --build . --parallel N
Sobald Sie die gemeinsam genutzte MXNet-Kernbibliothek erfolgreich erstellt haben, finden Sie in der build Ordner in Ihrem MXNet project root, du wirst finden libmxnet.so Dies ist erforderlich, um Sprachbindungen zu installieren (optional).
Central Processing Unit (CPU)
Hier werden wir verschiedene Methoden verwenden, nämlich Pip, Docker und Source, um MXNet zu installieren, wenn wir CPU für die Verarbeitung verwenden -
Mit der Pip-Methode
Mit dem folgenden Befehl können Sie MXNet auf Ihrem Linus OS installieren
pip install mxnet
Apache MXNet bietet auch MKL-DNN-fähige Pip-Pakete an, die viel schneller sind, wenn sie auf Intel-Hardware ausgeführt werden.
pip install mxnet-mkl
Mit Docker
Sie finden die Docker-Images mit MXNet bei DockerHub, das unter verfügbar ist https://hub.docker.com/u/mxnet. Sehen wir uns die folgenden Schritte an, um MXNet mithilfe von Docker mit CPU zu installieren.
Step 1- Befolgen Sie zunächst die Docker-Installationsanweisungen, die unter verfügbar sind https://docs.docker.com/engine/install/ubuntu/. Wir müssen Docker auf unserem Computer installieren.
Step 2- Mit dem folgenden Befehl können Sie das Docker-Image von MXNet abrufen:
$ sudo docker pull mxnet/python
Um zu sehen, ob das Abrufen von mxnet / python-Docker-Bildern erfolgreich war, können wir Docker-Bilder wie folgt auflisten:
$ sudo docker images
Für die schnellsten Inferenzgeschwindigkeiten mit MXNet wird empfohlen, das neueste MXNet mit Intel MKL-DNN zu verwenden.
Überprüfen Sie die folgenden Befehle -
$ sudo docker pull mxnet/python:1.3.0_cpu_mkl
$ sudo docker images
Aus der Quelle
Führen Sie die folgenden Schritte aus, um die gemeinsam genutzte MXNet-Bibliothek aus dem Quellcode mit der CPU zu erstellen:
Step 1- Zuerst müssen wir die erforderlichen Pakete installieren. Diese Abhängigkeiten sind ab Ubuntu Version 16.04 erforderlich.
sudo apt-get update
sudo apt-get install -y build-essential git ninja-build ccache libopenblas-dev libopencv-dev cmake
Step 2- In diesem Schritt laden wir die MXNet-Quelle herunter und konfigurieren sie. Lassen Sie uns zuerst das Repository mit dem folgenden Befehl klonen:
git clone –recursive https://github.com/apache/incubator-mxnet.git mxnet
cd mxnet
cp config/linux.cmake config.cmake
Step 3- Mit den folgenden Befehlen können Sie eine gemeinsam genutzte MXNet-Kernbibliothek erstellen:
rm -rf build
mkdir -p build && cd build
cmake -GNinja ..
cmake --build .
Two important points regarding the above step is as follows−
Wenn Sie die Debug-Version erstellen möchten, geben Sie Folgendes an:
cmake -DCMAKE_BUILD_TYPE=Debug -GNinja ..
Geben Sie Folgendes an, um die Anzahl der parallelen Kompilierungsjobs festzulegen
cmake --build . --parallel N
Sobald Sie die gemeinsam genutzte MXNet-Kernbibliothek erfolgreich erstellt haben, finden Sie in der build Im Ordner in Ihrem MXNet-Projektstamm finden Sie libmxnet.so, das zum Installieren von Sprachbindungen erforderlich ist (optional).
Mac OS
Wir können MXNet unter MacOS auf folgende Arten installieren:
Grafische Verarbeitungseinheit (GPU)
Wenn Sie MXNet unter MacOS mit GPU erstellen möchten, steht KEINE Pip- und Docker-Methode zur Verfügung. Die einzige Methode in diesem Fall besteht darin, es aus dem Quellcode zu erstellen.
Aus der Quelle
Um die gemeinsam genutzte MXNet-Bibliothek aus dem Quellcode mit der GPU zu erstellen, müssen Sie zuerst die Umgebung für CUDA und cuDNN einrichten. Sie müssen dem folgenNVIDIA CUDA Installation Guide welches bei erhältlich ist https://docs.nvidia.com und cuDNN Installation Guide, welches bei erhältlich ist https://docs.nvidia.com/deeplearning für Mac OS.
Bitte beachten Sie, dass CUDA 2019 die Unterstützung von macOS eingestellt hat. Zukünftige Versionen von CUDA unterstützen möglicherweise auch nicht macOS.
Führen Sie nach dem Einrichten der Umgebung für CUDA und cuDNN die folgenden Schritte aus, um MXNet von der Quelle unter OS X (Mac) zu installieren.
Step 1- Da wir einige Abhängigkeiten von OS x benötigen, müssen wir zuerst die erforderlichen Pakete installieren.
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
Wir können MXNet auch ohne OpenCV erstellen, da opencv eine optionale Abhängigkeit ist.
Step 2- In diesem Schritt laden wir die MXNet-Quelle herunter und konfigurieren sie. Lassen Sie uns zuerst das Repository mit dem folgenden Befehl klonen
git clone –-recursive https://github.com/apache/incubator-mxnet.git mxnet
cd mxnet
cp config/linux.cmake config.cmake
Bei einer GPU-fähigen Version müssen zuerst die CUDA-Abhängigkeiten installiert werden, da MXNet-Build Ihre GPU-Architektur nicht automatisch erkennen kann, wenn versucht wird, einen GPU-fähigen Build auf einem Computer ohne GPU zu erstellen. In solchen Fällen zielt MXNet auf alle verfügbaren GPU-Architekturen ab.
Step 3- Mit den folgenden Befehlen können Sie eine gemeinsam genutzte MXNet-Kernbibliothek erstellen
rm -rf build
mkdir -p build && cd build
cmake -GNinja ..
cmake --build .
Zwei wichtige Punkte in Bezug auf den obigen Schritt sind wie folgt:
Wenn Sie die Debug-Version erstellen möchten, geben Sie Folgendes an:
cmake -DCMAKE_BUILD_TYPE=Debug -GNinja ..
Geben Sie Folgendes an, um die Anzahl der parallelen Kompilierungsjobs festzulegen:
cmake --build . --parallel N
Sobald Sie die gemeinsam genutzte MXNet-Kernbibliothek erfolgreich erstellt haben, finden Sie in der build Ordner in Ihrem MXNet project root, du wirst finden libmxnet.dylib, Dies ist erforderlich, um Sprachbindungen zu installieren (optional).
Central Processing Unit (CPU)
Hier werden wir verschiedene Methoden verwenden, nämlich Pip, Docker und Source, um MXNet zu installieren, wenn wir CPU für die Verarbeitung verwenden
Mit der Pip-Methode
Mit dem folgenden Befehl können Sie MXNet auf Ihrem Linus-Betriebssystem installieren
pip install mxnet
Mit Docker
Sie finden die Docker-Images mit MXNet bei DockerHub, das unter verfügbar ist https://hub.docker.com/u/mxnet. Sehen wir uns die folgenden Schritte an, um MXNet mithilfe von Docker mit CPU− zu installieren
Step 1- Folgen Sie zunächst den Anweisungen docker installation instructions welche verfügbar sind bei https://docs.docker.com/docker-for-mac Wir müssen Docker auf unserem Computer installieren.
Step 2- Mit dem folgenden Befehl können Sie das MXNet-Docker-Image abrufen
$ docker pull mxnet/python
Um zu sehen, ob das Abrufen von mxnet / python-Docker-Bildern erfolgreich war, können wir Docker-Bilder wie folgt auflisten:
$ docker images
Für die schnellsten Inferenzgeschwindigkeiten mit MXNet wird empfohlen, das neueste MXNet mit Intel MKL-DNN zu verwenden. Überprüfen Sie die folgenden Befehle
$ docker pull mxnet/python:1.3.0_cpu_mkl
$ docker images
Aus der Quelle
Führen Sie die folgenden Schritte aus, um MXNet von der Quelle unter OS X (Mac) zu installieren.
Step 1- Da wir einige Abhängigkeiten von OS x benötigen, müssen wir zuerst die erforderlichen Pakete installieren.
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
Wir können MXNet auch ohne OpenCV erstellen, da opencv eine optionale Abhängigkeit ist.
Step 2- In diesem Schritt laden wir die MXNet-Quelle herunter und konfigurieren sie. Lassen Sie uns zunächst das Repository mit dem folgenden Befehl klonen
git clone –-recursive https://github.com/apache/incubator-mxnet.git mxnet
cd mxnet
cp config/linux.cmake config.cmake
Step 3- Mit den folgenden Befehlen können Sie eine gemeinsam genutzte MXNet-Kernbibliothek erstellen:
rm -rf build
mkdir -p build && cd build
cmake -GNinja ..
cmake --build .
Two important points regarding the above step is as follows−
Wenn Sie die Debug-Version erstellen möchten, geben Sie Folgendes an:
cmake -DCMAKE_BUILD_TYPE=Debug -GNinja ..
Geben Sie Folgendes an, um die Anzahl der parallelen Kompilierungsjobs festzulegen
cmake --build . --parallel N
Sobald Sie die gemeinsam genutzte MXNet-Kernbibliothek erfolgreich erstellt haben, finden Sie in der build Ordner in Ihrem MXNet project root, du wirst finden libmxnet.dylib, Dies ist erforderlich, um Sprachbindungen zu installieren (optional).
Windows-Betriebssystem
Für die Installation von MXNet unter Windows gelten folgende Voraussetzungen:
Minimale Systemvoraussetzungen
Windows 7, 10, Server 2012 R2 oder Server 2016
Visual Studio 2015 oder 2017 (beliebiger Typ)
Python 2.7 oder 3.6
pip
Empfohlene Systemanforderungen
Windows 10, Server 2012 R2 oder Server 2016
Visual Studio 2017
Mindestens eine NVIDIA CUDA-fähige GPU
MKL-fähige CPU: Intel® Xeon®-Prozessor, Intel® Core ™ -Prozessorfamilie, Intel Atom®-Prozessor oder Intel® Xeon Phi ™ -Prozessor
Python 2.7 oder 3.6
pip
Grafische Verarbeitungseinheit (GPU)
Mit der Pip-Methode−
Wenn Sie MXNet unter Windows mit NVIDIA-GPUs erstellen möchten, gibt es zwei Möglichkeiten, MXNet mit CUDA-Unterstützung mit einem Python-Paket zu installieren
Installation mit CUDA-Unterstützung
Im Folgenden sind die Schritte aufgeführt, mit deren Hilfe wir MXNet mit CUDA einrichten können.
Step 1- Installieren Sie zuerst Microsoft Visual Studio 2017 oder Microsoft Visual Studio 2015.
Step 2- Laden Sie als Nächstes NVIDIA CUDA herunter und installieren Sie es. Es wird empfohlen, CUDA-Versionen 9.2 oder 9.0 zu verwenden, da in der Vergangenheit einige Probleme mit CUDA 9.1 festgestellt wurden.
Step 3- Laden Sie jetzt NVIDIA_CUDA_DNN herunter und installieren Sie es.
Step 4- Installieren Sie schließlich mit dem folgenden Befehl pip MXNet mit CUDA−
pip install mxnet-cu92
Installation mit CUDA- und MKL-Unterstützung
Im Folgenden sind die Schritte aufgeführt, mit deren Hilfe wir MXNet mit CUDA und MKL einrichten können.
Step 1- Installieren Sie zuerst Microsoft Visual Studio 2017 oder Microsoft Visual Studio 2015.
Step 2- Laden Sie als Nächstes Intel MKL herunter und installieren Sie es
Step 3- Laden Sie jetzt NVIDIA CUDA herunter und installieren Sie es.
Step 4- Laden Sie jetzt NVIDIA_CUDA_DNN herunter und installieren Sie es.
Step 5- Installieren Sie schließlich mit dem folgenden Befehl pip MXNet mit MKL.
pip install mxnet-cu92mkl
Aus der Quelle
Um die MXNet-Kernbibliothek aus dem Quellcode mit der GPU zu erstellen, haben wir die folgenden zwei Optionen:
Option 1− Build with Microsoft Visual Studio 2017
Um MXNet mithilfe von Microsoft Visual Studio 2017 selbst zu erstellen und zu installieren, benötigen Sie die folgenden Abhängigkeiten.
Install/update Microsoft Visual Studio.
Wenn Microsoft Visual Studio noch nicht auf Ihrem Computer installiert ist, laden Sie es zuerst herunter und installieren Sie es.
Sie werden aufgefordert, Git zu installieren. Installieren Sie es auch.
Wenn Microsoft Visual Studio bereits auf Ihrem Computer installiert ist, Sie es jedoch aktualisieren möchten, fahren Sie mit dem nächsten Schritt fort, um Ihre Installation zu ändern. Hier haben Sie die Möglichkeit, auch Microsoft Visual Studio zu aktualisieren.
Befolgen Sie die Anweisungen zum Öffnen des Visual Studio-Installationsprogramms unter https://docs.microsoft.com/en-us Einzelne Komponenten ändern.
Aktualisieren Sie in der Visual Studio Installer-Anwendung nach Bedarf. Danach suchen und überprüfenVC++ 2017 version 15.4 v14.11 toolset und klicken Sie auf Modify.
Ändern Sie nun mit dem folgenden Befehl die Version von Microsoft VS2017 in v14.11−
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" -vcvars_ver=14.11
Als nächstes müssen Sie herunterladen und installieren CMake verfügbar um https://cmake.org/download/ Es wird empfohlen, zu verwenden CMake v3.12.2 welches bei erhältlich ist https://cmake.org/download/ weil es mit MXNet getestet wird.
Laden Sie jetzt das herunter und führen Sie es aus OpenCV Paket erhältlich bei https://sourceforge.net/projects/opencvlibrary/Dadurch werden mehrere Dateien entpackt. Es liegt an Ihnen, ob Sie sie in einem anderen Verzeichnis ablegen möchten oder nicht. Hier werden wir den Pfad verwendenC:\utils(mkdir C:\utils) als unser Standardpfad.
Als nächstes müssen wir die Umgebungsvariable OpenCV_DIR so einstellen, dass sie auf das OpenCV-Buildverzeichnis verweist, das wir gerade entpackt haben. Öffnen Sie dazu die Eingabeaufforderung und geben Sie einset OpenCV_DIR=C:\utils\opencv\build.
Ein wichtiger Punkt ist, dass Sie die Intel MKL (Math Kernel Library) installieren können, wenn Sie sie nicht installiert haben.
Ein weiteres Open Source-Paket, das Sie verwenden können, ist OpenBLAS. Hier für die weiteren Anweisungen gehen wir davon aus, dass Sie verwendenOpenBLAS.
Laden Sie also die OpenBlas Paket, das verfügbar ist bei https://sourceforge.net und entpacken Sie die Datei, benennen Sie sie in um OpenBLAS und lege es unter C:\utils.
Als nächstes müssen wir die Umgebungsvariable setzen OpenBLAS_HOME um auf das OpenBLAS-Verzeichnis zu verweisen, das das enthält include und libVerzeichnisse. Öffnen Sie dazu die Eingabeaufforderung und geben Sie einset OpenBLAS_HOME=C:\utils\OpenBLAS.
Laden Sie jetzt CUDA herunter und installieren Sie es unter https://developer.nvidia.com. Beachten Sie, dass Sie, wenn Sie bereits CUDA hatten und dann Microsoft VS2017 installiert haben, CUDA jetzt neu installieren müssen, damit Sie die CUDA-Toolkit-Komponenten für die Microsoft VS2017-Integration erhalten können.
Als nächstes müssen Sie cuDNN herunterladen und installieren.
Als nächstes müssen Sie git herunterladen und installieren, das sich bei befindet https://gitforwindows.org/ ebenfalls.
Nachdem Sie alle erforderlichen Abhängigkeiten installiert haben, führen Sie die folgenden Schritte aus, um den MXNet-Quellcode zu erstellen
Step 1- Öffnen Sie die Eingabeaufforderung in Windows.
Step 2- Laden Sie jetzt mit dem folgenden Befehl den MXNet-Quellcode von GitHub herunter:
cd C:\
git clone https://github.com/apache/incubator-mxnet.git --recursive
Step 3- Überprüfen Sie als Nächstes Folgendes -
DCUDNN_INCLUDE and DCUDNN_LIBRARY Umgebungsvariablen zeigen auf die include Ordner und cudnn.lib Datei Ihres CUDA-Installationsorts
C:\incubator-mxnet ist der Speicherort des Quellcodes, den Sie gerade im vorherigen Schritt geklont haben.
Step 4- Erstellen Sie als Nächstes mit dem folgenden Befehl einen Build directory und gehen Sie auch in das Verzeichnis, zum Beispiel -
mkdir C:\incubator-mxnet\build
cd C:\incubator-mxnet\build
Step 5- Kompilieren Sie nun mithilfe von cmake den MXNet-Quellcode wie folgt:
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- Verwenden Sie nach erfolgreichem Abschluss des CMake den folgenden Befehl, um den MXNet-Quellcode zu kompilieren
msbuild mxnet.sln /p:Configuration=Release;Platform=x64 /maxcpucount
Option 2: Build with Microsoft Visual Studio 2015
Um MXNet mithilfe von Microsoft Visual Studio 2015 selbst zu erstellen und zu installieren, benötigen Sie die folgenden Abhängigkeiten.
Installieren / Aktualisieren von Microsoft Visual Studio 2015. Die Mindestanforderung zum Erstellen von MXnet aus dem Quellcode ist Update 3 von Microsoft Visual Studio 2015. Sie können es verwenden Tools -> Extensions and Updates... | Product Updates Menü, um es zu aktualisieren.
Als nächstes müssen Sie herunterladen und installieren CMake welches bei erhältlich ist https://cmake.org/download/. Es wird empfohlen, zu verwendenCMake v3.12.2 das ist bei https://cmake.org/download/, weil es mit MXNet getestet wird.
Laden Sie jetzt das OpenCV-Paket herunter und führen Sie es aus, das unter verfügbar ist https://excellmedia.dl.sourceforge.netDadurch werden mehrere Dateien entpackt. Es liegt an Ihnen, ob Sie sie in einem anderen Verzeichnis ablegen möchten oder nicht.
Als nächstes müssen wir die Umgebungsvariable setzen OpenCV_DIR auf die zeigen OpenCVBuild-Verzeichnis, das wir gerade entpackt haben. Öffnen Sie dazu die Eingabeaufforderung und geben Sie set einOpenCV_DIR=C:\opencv\build\x64\vc14\bin.
Ein wichtiger Punkt ist, dass Sie die Intel MKL (Math Kernel Library) installieren können, wenn Sie sie nicht installiert haben.
Ein weiteres Open Source-Paket, das Sie verwenden können, ist OpenBLAS. Hier für die weiteren Anweisungen gehen wir davon aus, dass Sie verwendenOpenBLAS.
Laden Sie also die OpenBLAS Paket erhältlich bei https://excellmedia.dl.sourceforge.net und entpacken Sie die Datei, benennen Sie sie in OpenBLAS um und legen Sie sie unter C: \ utils ab.
Als nächstes müssen wir die Umgebungsvariable OpenBLAS_HOME so einstellen, dass sie auf das OpenBLAS-Verzeichnis verweist, das die Verzeichnisse include und lib enthält. Sie finden das Verzeichnis inC:\Program files (x86)\OpenBLAS\
Beachten Sie, dass Sie, wenn Sie bereits CUDA hatten und dann Microsoft VS2015 installiert haben, CUDA jetzt neu installieren müssen, damit Sie die CUDA-Toolkit-Komponenten für die Microsoft VS2017-Integration erhalten können.
Als nächstes müssen Sie cuDNN herunterladen und installieren.
Jetzt müssen wir die Umgebungsvariable CUDACXX so einstellen, dass sie auf die zeigt CUDA Compiler(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin\nvcc.exe zum Beispiel).
In ähnlicher Weise müssen wir auch die Umgebungsvariable festlegen CUDNN_ROOT auf die zeigen cuDNN Verzeichnis, das das enthält include, lib und bin Verzeichnisse (C:\Downloads\cudnn-9.1-windows7-x64-v7\cuda zum Beispiel).
Nachdem Sie alle erforderlichen Abhängigkeiten installiert haben, führen Sie die folgenden Schritte aus, um den MXNet-Quellcode zu erstellen
Step 1- Laden Sie zunächst den MXNet-Quellcode von GitHub− herunter
cd C:\
git clone https://github.com/apache/incubator-mxnet.git --recursive
Step 2- Verwenden Sie als Nächstes CMake, um ein Visual Studio in ./build zu erstellen.
Step 3- In Visual Studio müssen wir jetzt die Lösungsdatei öffnen..slnund kompiliere es. Diese Befehle erzeugen eine Bibliothek namensmxnet.dll in dem ./build/Release/ or ./build/Debug Mappe
Step 4- Verwenden Sie nach erfolgreichem Abschluss von CMake den folgenden Befehl, um den MXNet-Quellcode zu kompilieren
msbuild mxnet.sln /p:Configuration=Release;Platform=x64 /maxcpucount
Central Processing Unit (CPU)
Hier werden wir verschiedene Methoden verwenden, nämlich Pip, Docker und Source, um MXNet zu installieren, wenn wir CPU für die Verarbeitung verwenden
Mit der Pip-Methode
Wenn Sie MXNet unter Windows mit CPUs erstellen möchten, gibt es zwei Möglichkeiten, MXNet mithilfe eines Python-Pakets zu installieren
Install with CPUs
Verwenden Sie den folgenden Befehl, um MXNet mit CPU mit Python− zu installieren
pip install mxnet
Install with Intel CPUs
Wie oben erläutert, bietet MXNet experimentelle Unterstützung für Intel MKL sowie MKL-DNN. Verwenden Sie den folgenden Befehl, um MXNet mit Intel CPU mit Python− zu installieren
pip install mxnet-mkl
Mit Docker
Sie finden die Docker-Bilder mit MXNet unter DockerHub, verfügbar um https://hub.docker.com/u/mxnet Sehen wir uns die folgenden Schritte an, um MXNet mithilfe von Docker mit CPU− zu installieren
Step 1- Befolgen Sie zunächst die Docker-Installationsanweisungen, die unter gelesen werden können https://docs.docker.com/docker-for-mac/install. Wir müssen Docker auf unserem Computer installieren.
Step 2- Mit dem folgenden Befehl können Sie das MXNet-Docker-Image abrufen
$ docker pull mxnet/python
Um zu sehen, ob das Abrufen von mxnet / python-Docker-Bildern erfolgreich war, können wir Docker-Bilder wie folgt auflisten:
$ docker images
Für die schnellsten Inferenzgeschwindigkeiten mit MXNet wird empfohlen, das neueste MXNet mit Intel MKL-DNN zu verwenden.
Überprüfen Sie die folgenden Befehle
$ docker pull mxnet/python:1.3.0_cpu_mkl
$ docker images
Installieren von MXNet in der Cloud und auf Geräten
In diesem Abschnitt wird erläutert, wie Sie Apache MXNet in der Cloud und auf Geräten installieren. Beginnen wir mit der Installation von MXNet in der Cloud.
MXNet in der Cloud installieren
Sie können Apache MXNet auch bei mehreren Cloud-Anbietern mit herunterladen Graphical Processing Unit (GPU)Unterstützung. Zwei andere Arten von Unterstützung, die Sie finden können, sind wie folgt:
- GPU / CPU-Hybrid-Unterstützung für Anwendungsfälle wie skalierbare Inferenz.
- Faktorielle GPU-Unterstützung mit AWS Elastic Inference.
Im Folgenden finden Sie Cloud-Anbieter, die GPU-Unterstützung mit verschiedenen virtuellen Maschinen für Apache MXNet− anbieten
Die Alibaba-Konsole
Sie können die erstellen NVIDIA GPU Cloud Virtual Machine (VM) verfügbar um https://docs.nvidia.com/ngc mit der Alibaba-Konsole und verwenden Sie Apache MXNet.
Amazon Web Services
Es bietet auch GPU-Unterstützung und bietet die folgenden Dienste für Apache MXNet−
Amazon SageMaker
Es verwaltet die Schulung und Bereitstellung von Apache MXNet-Modellen.
AWS Deep Learning AMI
Es bietet eine vorinstallierte Conda-Umgebung für Python 2 und Python 3 mit Apache MXNet, CUDA, cuDNN, MKL-DNN und AWS Elastic Inference.
Dynamisches Training auf AWS
Es bietet Schulungen für das experimentelle manuelle EC2-Setup sowie für das halbautomatische CloudFormation-Setup.
Sie können verwenden NVIDIA VM verfügbar um https://aws.amazon.com mit Amazon Web Services.
Google Cloud Platform
Google bietet auch NVIDIA GPU cloud image welches bei erhältlich ist https://console.cloud.google.com mit Apache MXNet arbeiten.
Microsoft Azure
Microsoft Azure Marketplace bietet ebenfalls NVIDIA GPU cloud image verfügbar um https://azuremarketplace.microsoft.com mit Apache MXNet arbeiten.
Oracle Cloud
Oracle bietet auch NVIDIA GPU cloud image verfügbar um https://docs.cloud.oracle.com mit Apache MXNet arbeiten.
Central Processing Unit (CPU)
Apache MXNet funktioniert auf der Nur-CPU-Instanz jedes Cloud-Anbieters. Es gibt verschiedene Methoden zur Installation, z
Installationsanweisungen für Python Pip.
Docker-Anweisungen.
Vorinstallierte Option wie Amazon Web Services, die AWS Deep Learning AMI bereitstellt (mit vorinstallierter Conda-Umgebung für Python 2 und Python 3 mit MXNet und MKL-DNN).
MXNet auf Geräten installieren
Lassen Sie uns lernen, wie Sie MXNet auf Geräten installieren.
Himbeer-Pi
Sie können Apache MXNet auch auf Raspberry Pi 3B-Geräten ausführen, da MXNet auch das auf Respbian ARM basierende Betriebssystem unterstützt. Um MXNet auf dem Raspberry Pi3 reibungslos ausführen zu können, wird empfohlen, ein Gerät mit mehr als 1 GB RAM und eine SD-Karte mit mindestens 4 GB freiem Speicherplatz zu verwenden.
Im Folgenden finden Sie die Möglichkeiten, mit denen Sie MXNet für den Raspberry Pi erstellen und die Python-Bindungen auch für die Bibliothek installieren können
Schnelle Installation
Das vorgefertigte Python-Rad kann für eine schnelle Installation auf einem Raspberry Pi 3B mit Stretch verwendet werden. Eines der wichtigen Probleme bei dieser Methode ist, dass wir mehrere Abhängigkeiten installieren müssen, damit Apache MXNet funktioniert.
Docker-Installation
Sie können den Docker-Installationsanweisungen folgen, die unter verfügbar sind https://docs.docker.com/engine/install/ubuntu/um Docker auf Ihrem Computer zu installieren. Zu diesem Zweck können wir auch die Community Edition (CE) installieren und verwenden.
Native Build (aus der Quelle)
Um MXNet von der Quelle aus zu installieren, müssen Sie die folgenden zwei Schritte ausführen:
Schritt 1
Build the shared library from the Apache MXNet C++ source code
Um die gemeinsam genutzte Bibliothek auf Raspberry-Version Wheezy und höher aufzubauen, benötigen wir die folgenden Abhängigkeiten:
Git- Es ist erforderlich, Code von GitHub abzurufen.
Libblas- Es ist für lineare algebraische Operationen erforderlich.
Libopencv- Es ist für Operationen im Zusammenhang mit Computer Vision erforderlich. Es ist jedoch optional, wenn Sie RAM und Speicherplatz sparen möchten.
C++ Compiler- Es ist erforderlich, MXNet-Quellcode zu kompilieren und zu erstellen. Im Folgenden sind die unterstützten Compiler aufgeführt, die C ++ 11− unterstützen
G ++ (Version 4.8 oder höher)
Clang(3.9-6)
Verwenden Sie die folgenden Befehle, um die oben genannten Abhängigkeiten zu installieren
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
Als nächstes müssen wir das MXNet-Quellcode-Repository klonen. Verwenden Sie dazu den folgenden Befehl git in Ihrem Home-Verzeichnis
git clone https://github.com/apache/incubator-mxnet.git --recursive
cd incubator-mxnet
Erstellen Sie nun mithilfe der folgenden Befehle die gemeinsam genutzte Bibliothek:
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)
Sobald Sie die obigen Befehle ausgeführt haben, wird der Erstellungsprozess gestartet, dessen Abschluss einige Stunden dauern wird. Sie erhalten eine Datei mit dem Namenlibmxnet.so im Erstellungsverzeichnis.
Schritt 2
Install the supported language-specific packages for Apache MXNet
In diesem Schritt installieren wir MXNet Pythin-Bindungen. Dazu müssen wir den folgenden Befehl im MXNet-Verzeichnis ausführen
cd python
pip install --upgrade pip
pip install -e .
Alternativ können Sie mit dem folgenden Befehl auch eine erstellen whl package installierbar mit pip- -
ci/docker/runtime_functions.sh build_wheel python/ $(realpath build)
NVIDIA Jetson-Geräte
Sie können Apache MXNet auch auf NVIDIA Jetson-Geräten ausführen, z TX2 oder Nanoals MXNet unterstützt auch das Ubuntu Arch64-basierte Betriebssystem. Damit MXNet reibungslos auf den NVIDIA Jetson-Geräten ausgeführt werden kann, muss CUDA auf Ihrem Jetson-Gerät installiert sein.
Im Folgenden finden Sie die Möglichkeiten, mit denen Sie MXNet für NVIDIA Jetson-Geräte erstellen können:
Mit einem Jetson MXNet Pip Wheel für die Python-Entwicklung
Aus der Quelle
Bevor Sie MXNet jedoch auf eine der oben genannten Arten erstellen, müssen Sie die folgenden Abhängigkeiten von Ihren Jetson-Geräten installieren
Python-Abhängigkeiten
Um die Python-API verwenden zu können, benötigen wir die folgenden Abhängigkeiten
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
Klonen Sie das MXNet-Quellcode-Repository
Klonen Sie das MXNet-Quellcode-Repository mit dem folgenden Befehl git in Ihrem Home-Verzeichnis
git clone --recursive https://github.com/apache/incubator-mxnet.git mxnet
Umgebungsvariablen einrichten
Fügen Sie Folgendes in Ihr .profile Datei in Ihrem Home-Verzeichnis−
export PATH=/usr/local/cuda/bin:$PATH
export MXNET_HOME=$HOME/mxnet/
export PYTHONPATH=$MXNET_HOME/python:$PYTHONPATH
Wenden Sie die Änderung jetzt sofort mit dem folgenden Befehl an
source .profile
Konfigurieren Sie CUDA
Bevor Sie CUDA mit nvcc konfigurieren, müssen Sie überprüfen, welche Version von CUDA ausgeführt wird
nvcc --version
Angenommen, wenn mehr als eine CUDA-Version auf Ihrem Gerät oder Computer installiert ist und Sie die CUDA-Versionen wechseln möchten, verwenden Sie Folgendes und ersetzen Sie den symbolischen Link zu der gewünschten Version
sudo rm /usr/local/cuda
sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda
Der obige Befehl wechselt zu CUDA 10.0, das auf dem NVIDIA Jetson-Gerät vorinstalliert ist Nano.
Sobald Sie die oben genannten Voraussetzungen erfüllt haben, können Sie MXNet jetzt auf NVIDIA Jetson-Geräten installieren. Lassen Sie uns die Möglichkeiten verstehen, mit denen Sie MXNet− installieren können
By using a Jetson MXNet pip wheel for Python development- Wenn Sie ein vorbereitetes Python-Rad verwenden möchten, laden Sie Folgendes auf Ihren Jetson herunter und führen Sie es aus
MXNet 1.4.0 (für Python 3) erhältlich bei https://docs.docker.com
MXNet 1.4.0 (für Python 2) erhältlich bei https://docs.docker.com
Native Build (aus der Quelle)
Um MXNet von der Quelle aus zu installieren, müssen Sie die folgenden zwei Schritte ausführen:
Schritt 1
Build the shared library from the Apache MXNet C++ source code
Um die gemeinsam genutzte Bibliothek aus dem Apache MXNet C ++ - Quellcode zu erstellen, können Sie entweder die Docker-Methode verwenden oder dies manuell tun
Docker-Methode
Bei dieser Methode müssen Sie zuerst Docker installieren und es ohne sudo ausführen können (was auch in den vorherigen Schritten erläutert wurde). Führen Sie anschließend die folgenden Schritte aus, um die Cross-Kompilierung über Docker− auszuführen
$MXNET_HOME/ci/build.py -p jetson
Handbuch
Bei dieser Methode müssen Sie die bearbeiten Makefile (mit dem folgenden Befehl) So installieren Sie das MXNet mit CUDA-Bindungen, um die Grafikprozessoren (GPU) auf NVIDIA Jetson-Geräten zu nutzen:
cp $MXNET_HOME/make/crosscompile.jetson.mk config.mk
Nach dem Bearbeiten des Makefiles müssen Sie die Datei config.mk bearbeiten, um einige zusätzliche Änderungen für das NVIDIA Jetson-Gerät vorzunehmen.
Aktualisieren Sie dazu die folgenden Einstellungen
Aktualisieren Sie den CUDA-Pfad: USE_CUDA_PATH = / usr / local / cuda
Fügen Sie der Einstellung CUDA_ARCH -gencode arch = compute-63, code = sm_62 hinzu.
Aktualisieren Sie die NVCC-Einstellungen: NVCCFLAGS: = -m64
Aktivieren Sie OpenCV: USE_OPENCV = 1
Um sicherzustellen, dass das MXNet mit Pascals Hardwarebeschleunigung mit geringer Genauigkeit erstellt wird, müssen wir das Mshadow-Makefile wie folgt bearbeiten:
MSHADOW_CFLAGS += -DMSHADOW_USE_PASCAL=1
Schließlich können Sie mit Hilfe des folgenden Befehls die vollständige Apache MXNet-Bibliothek erstellen
cd $MXNET_HOME
make -j $(nproc)
Sobald Sie die obigen Befehle ausgeführt haben, wird der Erstellungsprozess gestartet, dessen Abschluss einige Stunden dauern wird. Sie erhalten eine Datei mit dem Namenlibmxnet.so in dem mxnet/lib directory.
Schritt 2
Install the Apache MXNet Python Bindings
In diesem Schritt installieren wir MXNet Python-Bindungen. Dazu müssen wir den folgenden Befehl im MXNet-Verzeichnis ausführen
cd $MXNET_HOME/python
sudo pip install -e .
Nachdem Sie die obigen Schritte ausgeführt haben, können Sie MXNet jetzt auf Ihren NVIDIA Jetson-Geräten TX2 oder Nano ausführen. Dies kann mit dem folgenden Befehl überprüft werden
import mxnet
mxnet.__version__
Es wird die Versionsnummer zurückgegeben, wenn alles richtig funktioniert.