Apache MXNet — это быстрая и масштабируемая среда обучения и логического вывода с простым в использовании и лаконичным API для машинного обучения.

MXNet включает в себя интерфейс Gluon, который позволяет разработчикам всех уровней квалификации начать работу с глубоким обучением в облаке, на периферийных устройствах и в мобильных приложениях. Всего за несколько строк кода Gluon вы можете построить линейную регрессию, сверточные сети и повторяющиеся LSTM для обнаружения объектов, распознавания речи, рекомендаций и персонализации.

В мире Edge мы хотим запускать модели машинного обучения на периферийных устройствах, таких как —

  1. NVIDIA Jetson Nano — это небольшой мощный компьютер для встраиваемых приложений и ИИ IoT, который обеспечивает мощь современного ИИ.

Графический процессор128-ядерный Maxwell

ЦПЧетырехъядерный ARM A57 с тактовой частотой 1,43 ГГц

Память4 ГБ, 64-разрядная LPDDR4, 25,6 ГБ/с.

2. NVIDIA Jetson TX2

  • Графический процессор с архитектурой NVIDIA Pascal™
  • 2 64-битных процессора Denver + четырехъядерный комплекс A57
  • 8 ГБ L128-битной памяти DDR4

Шаги по созданию MxNet на Aarch64

1.Выделение подкачки (общая память для увеличения объема ОЗУ)

В вашем терминале —

fallocate -l 8G swapfile
sudo chmod 600 swapfile
sudo mkswap swapfile
sudo swapon swapfile

Теперь, чтобы проверить память в вашем устройстве Jetson, введите в своем терминале -

free -m

2.Установите зависимости для MxNet

sudo apt-get update
sudo apt-get install -y git build-essential libatlas-base-dev libopencv-dev graphviz python-pip
sudo pip install — upgrade pip
sudo pip install — upgrade setuptools
sudo pip install numpy
sudo pip install graphviz jupyter

3. Экспортировать ПУТЬ

Экспортируйте путь к вашему местоположению cuda и домашнему каталогу mxnet.

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

4.Клонировать MxNet

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

5.Настройте make-файл MxNet для arch64

$cd mxnet
$cd make

В папке make найдите config.mk и отредактируйте его. Измените следующие параметры —

USE_CUDA = 1
USE_CUDA_PATH = /usr/local/cuda/
USE_OPENCV = 1
USE_CUDNN = 1
NVCCFLAGS := -m64   #add this parameter in config.mk
# For Jetson Nano ( add this to your config.mk) 
CUDA_ARCH := -gencode arch=compute_53,code=sm_53
# For Jetson Tx2 (add this to config.mk)
CUDA_ARCH := -gencode arch=compute_62,code=sm_62

6. Настройте make-файл Mshadow.

Теперь отредактируйте Makefile Mshadow, чтобы обеспечить сборку MXNet с ускорением низкой точности на аппаратном уровне Pascal, отредактировав 3rdparty/mshadow/make/mshadow.mk. В последней строке MSHADOW_USE_PASCAL установлено значение 0. Измените это на 1, чтобы включить его.

7. Создайте MxNet

В домашнем каталоге mxnet —

$ make -j8 

8. Установите привязки MXNet Python

$ cd python
$ sudo python3 setup.py install #I am using python3. 

Мкснет готов…

Время создавать GluonCV

1.клонировать репозиторий

$ git clone https://github.com/dmlc/gluon-cv

2. Соберите GluonCV вместе с зависимостями

$ cd gluon-cv && python setup.py install — user

Время насладиться Mxnet и GluonCV…. Удачного глубокого обучения….

В следующем блоге я расскажу, как повысить производительность NVIDIA Jetson Nano/TX2, чтобы использовать максимальную вычислительную мощность.

Оставайтесь с нами, люди….