美文网首页NVIDIA Jetson working
TX2 Install and using MXNET

TX2 Install and using MXNET

作者: 童年雅趣 | 来源:发表于2019-03-05 16:56 被阅读85次

\color{red}{方案一、通过PyPI 安装(JetPack3.3)}
安装顺序:

$sudo apt-get install libopenblas-base
$pip3 install mxnet-jetson --user
问题解决:
PyPI[] 安装mxnet-jetson 依赖的是numpy 0.15.0版本但是使用时会出现类似错误:“ImportError: No module named 'numpy.core._multiarray_umath'”
需要把numpy 更新为1.16.2 版本,即:pip3 install --upgrade numpy --user

nvidia@tegra-ubuntu:~/work$ $pip3 install mxnet-jetson --user 

***********************************************************************
nvidia@tegra-ubuntu:~/work$ python3
Python 3.5.2 (default, Nov 12 2018, 13:43:14) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mxnet
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/__init__.py", line 25, in <module>
    from . import engine
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/engine.py", line 23, in <module>
    from .base import _LIB, check_call
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/base.py", line 113, in <module>
    _LIB = _load_lib()
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/base.py", line 105, in _load_lib
    lib = ctypes.CDLL(lib_path[0], ctypes.RTLD_LOCAL)
  File "/usr/lib/python3.5/ctypes/__init__.py", line 347, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libopenblas.so.0: cannot open shared object file: No such file or directory
nvidia@tegra-ubuntu:~/work$ python3
Python 3.5.2 (default, Nov 12 2018, 13:43:14) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mxnet
ImportError: No module named 'numpy.core._multiarray_umath'
ImportError: No module named 'numpy.core._multiarray_umath'
ImportError: No module named 'numpy.core._multiarray_umath'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/__init__.py", line 28, in <module>
    from . import contrib
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/contrib/__init__.py", line 31, in <module>
    from . import onnx
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/contrib/onnx/__init__.py", line 20, in <module>
    from ._import.import_model import import_model
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/contrib/onnx/_import/__init__.py", line 20, in <module>
    from . import import_model
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/contrib/onnx/_import/import_model.py", line 22, in <module>
    from .import_onnx import GraphProto
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/contrib/onnx/_import/import_onnx.py", line 22, in <module>
    from .... import symbol
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/symbol/__init__.py", line 20, in <module>
    from . import _internal, contrib, linalg, op, random, sparse, image
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/symbol/contrib.py", line 22, in <module>
    from .random import uniform
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/symbol/random.py", line 22, in <module>
    from .symbol import Symbol
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/symbol/symbol.py", line 44, in <module>
    from ..executor import Executor
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/executor.py", line 36, in <module>
    from .executor_manager import _split_input_slice, _check_arguments, _load_data, _load_label
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/executor_manager.py", line 29, in <module>
    from .io import DataDesc
  File "/home/nvidia/.local/lib/python3.5/site-packages/mxnet/io.py", line 27, in <module>
    import h5py
  File "/home/nvidia/.local/lib/python3.5/site-packages/h5py/__init__.py", line 36, in <module>
    from ._conv import register_converters as _register_converters
  File "h5py/h5t.pxd", line 14, in init h5py._conv
  File "h5py/h5t.pyx", line 1, in init h5py.h5t
SystemError: execution of module h5py.utils raised unreported exception

\color{red}{方案二、通过源码 安装}

Step1. Check depend packages
mxnet tx2版本采用的是openblas,需要安装libopenblas-dev

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

Step2. Download mxnet and 3rdparty packages
由于mxnet 源码中不包含mshadow和googletest 源码,需要单独clone这两个源码到3rdparty 目录

$git clone https://github.com/apache/incubator-mxnet.git --recursive
$cd incubator-mxnet
$cd 3rdparty/
$git clone git clone https://github.com/dmlc/mshadow.git mshadow
//Edit the Mshadow Makefile after line 122
MSHADOW_CFLAGS += -DMSHADOW_USE_PASCAL=1

$cd googletest
$git clone https://github.com/google/googletest.git 
$cd ../../
$mkdir release; cd release
$cp ../make/crosscompile.jetson.mk ../make/config.mk
$make -j $(nproc)

Step3. Compile and install
由于缺失太多内容,导致编译一直报错

Bug1. kvstore_utils.h:27:26: fatal error: dmlc/logging.h: No such file or directory

Bug2.

相关文章

网友评论

    本文标题:TX2 Install and using MXNET

    本文链接:https://www.haomeiwen.com/subject/mteouqtx.html