I suggest you submit another topic about MXNET on TX2 forum.
Hi,
It looks weird to me.
Could you check where your OpenCV library installed first?
For me, the libraries is installed at ‘/usr/lib’.
nvidia@nano:~$ ll /usr/lib/libopencv_*
lrwxrwxrwx 1 root root 24 二 6 18:44 /usr/lib/libopencv_calib3d.so -> libopencv_calib3d.so.3.3
lrwxrwxrwx 1 root root 26 二 6 18:44 /usr/lib/libopencv_calib3d.so.3.3 -> libopencv_calib3d.so.3.3.1
-rw-r--r-- 1 root root 1323432 二 6 18:20 /usr/lib/libopencv_calib3d.so.3.3.1
lrwxrwxrwx 1 root root 21 二 6 18:44 /usr/lib/libopencv_core.so -> libopencv_core.so.3.3
lrwxrwxrwx 1 root root 23 二 6 18:44 /usr/lib/libopencv_core.so.3.3 -> libopencv_core.so.3.3.1
....
Thanks.
Hi AastaLLL,
Here’s my libraries dir
nvidia@tegra-ubuntu:~$ ll /usr/lib/libopencv_*
lrwxrwxrwx 1 root root 24 Nov 13 2017 /usr/lib/libopencv_calib3d.so -> libopencv_calib3d.so.3.3
lrwxrwxrwx 1 root root 26 Nov 13 2017 /usr/lib/libopencv_calib3d.so.3.3 -> libopencv_calib3d.so.3.3.1
-rw-r--r-- 1 root root 1384456 Nov 13 2017 /usr/lib/libopencv_calib3d.so.3.3.1
lrwxrwxrwx 1 root root 21 Nov 13 2017 /usr/lib/libopencv_core.so -> libopencv_core.so.3.3
lrwxrwxrwx 1 root root 23 Nov 13 2017 /usr/lib/libopencv_core.so.3.3 -> libopencv_core.so.3.3.1
-rw-r--r-- 1 root root 3424640 Nov 13 2017 /usr/lib/libopencv_core.so.3.3.1
lrwxrwxrwx 1 root root 20 Nov 13 2017 /usr/lib/libopencv_dnn.so -> libopencv_dnn.so.3.3
lrwxrwxrwx 1 root root 22 Nov 13 2017 /usr/lib/libopencv_dnn.so.3.3 -> libopencv_dnn.so.3.3.1
-rw-r--r-- 1 root root 4493776 Nov 13 2017 /usr/lib/libopencv_dnn.so.3.3.1
lrwxrwxrwx 1 root root 27 Nov 13 2017 /usr/lib/libopencv_features2d.so -> libopencv_features2d.so.3.3
lrwxrwxrwx 1 root root 29 Nov 13 2017 /usr/lib/libopencv_features2d.so.3.3 -> libopencv_features2d.so.3.3.1
-rw-r--r-- 1 root root 807792 Nov 13 2017 /usr/lib/libopencv_features2d.so.3.3.1
...
and as suggested by dennis_Leetop, I made a new topic in https://devtalk.nvidia.com/default/topic/1050111/jetson-tx2/unable-to-compile-and-install-mxnet-on-jetson-tx-2/
Okay, thanks.
Let’s track the following status on the new topic.
This command can successfully install mxnet, but since the version is less than 1.3.0, can’t use gluoncv, can you provide a newer version?
Did you build the MXNet with USE_TENSORRT=1? The speed of MXNet with GPU is much slower than that with multi CPU workers right now. Thanks.
Hi, 923702544
You can find the prebuilt package in comment #11.
Thanks.
Hi, bobzeng
I just enabled the cuDNN option as shown in the comment #8.
You can following the building steps in #8 with the TensorRT enabled to generate a better package.
Thanks.
I used
sed -i 's/USE_TENSORRT = 0/USE_TENSORRT = 1/' config.mk
as well
Jetson nano gets frozen after make -j3
checked through System Monitor
All the four cores come under 20% usage, then 3.8GB out of 3.9GB RAM starts getting used up and the entire OS gets frozen
Any solution for this?
I’m using 64GB Samsung microSD card if it helps
To:santhosh.dc
[ Jetson Nano gets frozen after make -j3 ]
^ That’s means not enough memory during compiling, so just make , no -j3.
Turn off your graphic interface may also help free your RAM.
Jetson nano gets frozen after make -j3
Could it be that you are lacking power in your supply ?
in https://devtalk.nvidia.com/default/topic/1048640/power-supply-considerations-for-jetson-nano-developer-kit/ you might see that stressful workload require more than the recommended 2.5 Ampere power supply.
Beware of rubbish phone chargers too.
I tired this
https://www.jetsonhacks.com/2019/04/14/jetson-nano-use-more-memory/
Found it might cause issue later on to the actual SD Card being due to swap memory
I used a USB PenDrive instead, used it as swap memory
https://10pm.ca/using-a-usb-flash-drive-as-ram-in-linux-mintubuntu/
make -j tries to run jobs in parallel
I reduced the it from 3 to 2
make -j2
I took some time but got built
Hi, all
Here is a prebuilt file for MXNet on Nano. You can install it with pip directly.
Python2.7
Please download the wheel file here.sudo apt-get install -y git build-essential libatlas-base-dev libopencv-dev graphviz python-pip sudo pip install mxnet-1.4.0-cp27-cp27mu-linux_aarch64.whl
Python3.7
Please download the wheel file here.sudo apt-get install -y git build-essential libatlas-base-dev libopencv-dev graphviz python3-pip sudo pip install mxnet-1.4.0-cp36-cp36m-linux_aarch64.whl
Thanks.
Hello, I installed it, and it will occur Segmentation fault (core dumped) when i import mxnet
root@de13510f5ca7:/# pip3 install mxnet-1.4.0-cp36-cp36m-linux_aarch64.whl
Processing /mxnet-1.4.0-cp36-cp36m-linux_aarch64.whl
Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from mxnet==1.4.0)
Installing collected packages: mxnet
Successfully installed mxnet-1.4.0
root@de13510f5ca7:/# python3
Python 3.6.8 (default, Oct 7 2019, 12:59:55)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mxnet
Segmentation fault (core dumped)
Hi,
Confirmed that we can build MXNet on the Jetson Nano:
[i]------------------------------------------
nvidia@nano:~$ python
Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15)
[GCC 7.3.0] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.import mxnet as mx
a = mx.nd.ones((2,3), mx.gpu())
print((a*2).asnumpy())
[[2. 2. 2.]
[2. 2. 2.]]
[/i]
Here are the building steps for your reference.
We build MXNet on a 16GB USB.1. Allocate swap
fallocate -l 8G swapfile sudo chmod 600 swapfile sudo mkswap swapfile sudo swapon swapfile
2. Install dependencies
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==1.15.2 sudo pip install graphviz jupyter
3. Build MXNet on Nano
git clone https://github.com/apache/incubator-mxnet.git --branch v1.4.x --recursive cd incubator-mxnet/
cp make/config.mk . sed -i 's/USE_CUDA = 0/USE_CUDA = 1/' config.mk sed -i 's/USE_CUDA_PATH = NONE/USE_CUDA_PATH = \/usr\/local\/cuda/' config.mk sed -i 's/USE_CUDNN = 0/USE_CUDNN = 1/' config.mk sed -i '/USE_CUDNN/a CUDA_ARCH := -gencode arch=compute_53,code=sm_53' config.mk
make -j3
4. Install MXNet
cd python sudo python setup.py install cd .. export MXNET_HOME=$(pwd) echo "export PYTHONPATH=$MXNET_HOME/python:$PYTHONPATH" >> ~/.bashrc source ~/.bashrc
Thanks.
Hello, I didn’t find cudnn, how to install it?
root@2409b48c8d37:/incubator-mxnet# make
Makefile:178: "USE_LAPACK disabled because libraries were not found"
INFO: nvcc was not found on your path
INFO: Using /usr/local/cuda/bin/nvcc as nvcc path
Running CUDA_ARCH: -gencode arch=compute_53,code=sm_53
g++ -std=c++11 -c -DMSHADOW_FORCE_STREAM -Wall -Wsign-compare -O3 -DNDEBUG=1 -I/incubator-mxnet/3rdparty/mshadow/ -I/incubator-mxnet/3rdparty/dmlc-core/include -fPIC -I/incubator-mxnet/3rdparty/tvm/nnvm/include -I/incubator-mxnet/3rdparty/dlpack/include -I/incubator-mxnet/3rdparty/tvm/include -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs -DMSHADOW_USE_SSE=0 -DMSHADOW_USE_F16C=0 -I/usr/local/cuda/include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 -I/usr/include/opencv -fopenmp -DMXNET_USE_OPERATOR_TUNING=1 -DMSHADOW_USE_CUDNN=1 -I/incubator-mxnet/3rdparty/cub -DMXNET_ENABLE_CUDA_RTC=1 -DMXNET_USE_NCCL=0 -DMXNET_USE_LIBJPEG_TURBO=0 -MMD -c src/operator/nn/mkldnn/mkldnn_act.cc -o build/src/operator/nn/mkldnn/mkldnn_act.o
In file included from /incubator-mxnet/3rdparty/mshadow/mshadow/tensor.h:16:0,
from include/mxnet/./base.h:32,
from include/mxnet/operator.h:38,
from src/operator/nn/mkldnn/mkldnn_act.cc:28:
/incubator-mxnet/3rdparty/mshadow/mshadow/./base.h:179:12: fatal error: cudnn.h: No such file or directory
#include <cudnn.h>
^~~~~~~~~
compilation terminated.
Makefile:461: recipe for target 'build/src/operator/nn/mkldnn/mkldnn_act.o' failed
make: *** [build/src/operator/nn/mkldnn/mkldnn_act.o] Error 1
AastaLLL:Hi,
Confirmed that we can build MXNet on the Jetson Nano:
[i]------------------------------------------
nvidia@nano:~$ python
Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15)
[GCC 7.3.0] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.import mxnet as mx
a = mx.nd.ones((2,3), mx.gpu())
print((a*2).asnumpy())
[[2. 2. 2.]
[2. 2. 2.]]
[/i]
Here are the building steps for your reference.
We build MXNet on a 16GB USB.1. Allocate swap
fallocate -l 8G swapfile sudo chmod 600 swapfile sudo mkswap swapfile sudo swapon swapfile
2. Install dependencies
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==1.15.2 sudo pip install graphviz jupyter
3. Build MXNet on Nano
git clone https://github.com/apache/incubator-mxnet.git --branch v1.4.x --recursive cd incubator-mxnet/
cp make/config.mk . sed -i 's/USE_CUDA = 0/USE_CUDA = 1/' config.mk sed -i 's/USE_CUDA_PATH = NONE/USE_CUDA_PATH = \/usr\/local\/cuda/' config.mk sed -i 's/USE_CUDNN = 0/USE_CUDNN = 1/' config.mk sed -i '/USE_CUDNN/a CUDA_ARCH := -gencode arch=compute_53,code=sm_53' config.mk
make -j3
4. Install MXNet
cd python sudo python setup.py install cd .. export MXNET_HOME=$(pwd) echo "export PYTHONPATH=$MXNET_HOME/python:$PYTHONPATH" >> ~/.bashrc source ~/.bashrc
Thanks.
Hello, I didn’t find cudnn, how to install it?
root@2409b48c8d37:/incubator-mxnet# make Makefile:178: "USE_LAPACK disabled because libraries were not found" INFO: nvcc was not found on your path INFO: Using /usr/local/cuda/bin/nvcc as nvcc path Running CUDA_ARCH: -gencode arch=compute_53,code=sm_53 g++ -std=c++11 -c -DMSHADOW_FORCE_STREAM -Wall -Wsign-compare -O3 -DNDEBUG=1 -I/incubator-mxnet/3rdparty/mshadow/ -I/incubator-mxnet/3rdparty/dmlc-core/include -fPIC -I/incubator-mxnet/3rdparty/tvm/nnvm/include -I/incubator-mxnet/3rdparty/dlpack/include -I/incubator-mxnet/3rdparty/tvm/include -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs -DMSHADOW_USE_SSE=0 -DMSHADOW_USE_F16C=0 -I/usr/local/cuda/include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 -I/usr/include/opencv -fopenmp -DMXNET_USE_OPERATOR_TUNING=1 -DMSHADOW_USE_CUDNN=1 -I/incubator-mxnet/3rdparty/cub -DMXNET_ENABLE_CUDA_RTC=1 -DMXNET_USE_NCCL=0 -DMXNET_USE_LIBJPEG_TURBO=0 -MMD -c src/operator/nn/mkldnn/mkldnn_act.cc -o build/src/operator/nn/mkldnn/mkldnn_act.o In file included from /incubator-mxnet/3rdparty/mshadow/mshadow/tensor.h:16:0, from include/mxnet/./base.h:32, from include/mxnet/operator.h:38, from src/operator/nn/mkldnn/mkldnn_act.cc:28: /incubator-mxnet/3rdparty/mshadow/mshadow/./base.h:179:12: fatal error: cudnn.h: No such file or directory #include <cudnn.h> ^~~~~~~~~ compilation terminated. Makefile:461: recipe for target 'build/src/operator/nn/mkldnn/mkldnn_act.o' failed make: *** [build/src/operator/nn/mkldnn/mkldnn_act.o] Error 1
I solve it, cudnn.h installed in /usr/include/cudnn.h, and it can copy to /usr/local/cuda/include/cudnn.h
for /usr/bin/ld: cannot find -lcudnn
sudo ln -s /usr/lib/aarch64-linux-gnu/libcudnn.so.7 /usr/local/cuda/lib/libcudnn.so
Hi, all
Here is a prebuilt file for MXNet on Nano. You can install it with pip directly.
Python2.7
Please download the wheel file here.sudo apt-get install -y git build-essential libatlas-base-dev libopencv-dev graphviz python-pip sudo pip install mxnet-1.4.0-cp27-cp27mu-linux_aarch64.whl
Python3.7
Please download the wheel file here.sudo apt-get install -y git build-essential libatlas-base-dev libopencv-dev graphviz python3-pip sudo pip install mxnet-1.4.0-cp36-cp36m-linux_aarch64.whl
Thanks.
When I install the Python 3 wheel, On importing mxnet, I get a Segmentation Fault(Core Dumped) error and my Python crashes.
Need help.
I get a segfault on import as well after installing the wheel in python3.6. It is a fairly fresh install. I’ve followed the documentaiton on Jetson Zoo - eLinux.org to install pytorch, but thats all other that making sure the system was up to date using the package manager. If I import mxnet while using pdb I get the following trace::
/home/lycaass/mximport.py(1)()
→ import mxnet
(Pdb) continue
Traceback (most recent call last):
File “/usr/lib/python3.6/pdb.py”, line 1667, in main
pdb._runscript(mainpyfile)
File “/usr/lib/python3.6/pdb.py”, line 1548, in _runscript
self.run(statement)
File “/usr/lib/python3.6/bdb.py”, line 434, in run
exec(cmd, globals, locals)
File “”, line 1, in
File “/home/lycaass/mximport.py”, line 1, in
import mxnet
File “/usr/local/lib/python3.6/dist-packages/mxnet/init.py”, line 24, in
from .context import Context, current_context, cpu, gpu, cpu_pinned
File “/usr/local/lib/python3.6/dist-packages/mxnet/context.py”, line 24, in
from .base import classproperty, with_metaclass, _MXClassPropertyMetaClass
File “/usr/local/lib/python3.6/dist-packages/mxnet/base.py”, line 213, in
_LIB = _load_lib()
File “/usr/local/lib/python3.6/dist-packages/mxnet/base.py”, line 204, in _load_lib
lib = ctypes.CDLL(lib_path[0], ctypes.RTLD_LOCAL)
File “/usr/lib/python3.6/ctypes/init.py”, line 348, in init
self._handle = _dlopen(self._name, mode)
OSError: libopencv_imgcodecs.so.3.3: cannot open shared object file: No such file or directory
Uncaught exception. Entering post mortem debugging
Running ‘cont’ or ‘step’ will restart the program
/usr/lib/python3.6/ctypes/init.py(348)init()
→ self._handle = _dlopen(self._name, mode)
Update: I am running Jetpack 4.3, which includes OpenCV 4.1.1 – it appears the wheel requires OpenCV 3.3
Update: Using the instructions from post #8, instead of v1.4.x, I built v1.5.x and everything seems to work.
Hi, all
An latest MXNET package for JetPack4.3 can be found in this comment:
https://devtalk.nvidia.com/default/topic/1070767/jetson-nano/i-was-unable-to-compile-and-install-mxnet1-5-with-tensorrt-on-the-jetson-nano-is-there-someone-have-compile-it-please-help-me-thank-you-/post/5426042/#5426042
Thanks.
May you help me try to build mxnet with TENSORRT with flag USE_TENSORRT = 1 . I tried a lot of ways but it seems useless