Table of Contents

Nvidia Jetson Nano

remove desktop

apt remove -y ubuntu-desktop
apt remove -y gnome-*
apt remove -y chromium-browser chromium-codecs-ffmpeg-extra
apt remove -y libreoffice* docker.io thunderbird bluez*
apt remove -y libnvinfer-samples
# remove snap
systemctl stop snapd
apt remove --purge --assume-yes snapd gnome-software-plugin-snap
rm -rf /var/cache/snapd/

apt autoremove -y
systemctl disable lightdm whoopsie  ModemManager bluetooth.service gpsd

tools

jtop

sudo -H pip install -U jetson-stats

check CUDA

cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

cd /usr/local/cuda-10.0/samples/1_Utilities/bandwidthTest/
sudo make
./bandwidthTest
Device 0: "NVIDIA Tegra X1"
  CUDA Driver Version / Runtime Version          10.0 / 10.0
  CUDA Capability Major/Minor version number:    5.3
  Total amount of global memory:                 3957 MBytes (4148756480 bytes)
  ( 1) Multiprocessors, (128) CUDA Cores/MP:     128 CUDA Cores
  GPU Max Clock rate:                            922 MHz (0.92 GHz)

python 3.8

sudo apt install libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev
sudo apt install libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev libffi-dev uuid-dev
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0b3.tgz
tar zxvf Python-3.8.0b3.tgz
cd Python-3.8.0b3
CFLAGS=-DOPENSSL_NO_SSL2 ./configure 
 --prefix=/opt/python3.8 \
 --enable-optimizations \
 --with-lto

make -j3 PROFILE_TASK="-m test.regrtest --pgo test_array test_base64 test_binascii test_binhex test_binop test_c_locale_coercion test_csv test_json test_hashlib test_unicode test_codecs test_traceback test_decimal test_math test_compile test_threading test_time test_fstring test_re test_float test_class test_cmath test_complex test_iter test_struct test_slice test_set test_dict test_long test_bytes test_memoryview test_io test_pickle"
              

sudo make install

numpy

Patch to numpy/random/mt19937.c numpy/random/bit_generator.c numpy/random/generator.c

from 
PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)

to
PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)

opencv 4.1

apt remove -y libopencv libopencv-dev libopencv-python libopencv-samples
apt install -y python3.7-dev python3.7-venv curl
apt install -y libv4l-dev v4l-utils qv4l2 v4l2ucp
apt install -y build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

add swap to compile opencv

fallocate -l 6G /mnt/6GB.swap
mkswap /mnt/6GB.swap
swapon /mnt/6GB.swap
swapon -s
RELEASE=4.1.1
cd ~/
curl -L https://github.com/opencv/opencv/archive/${RELEASE}.zip -o opencv-${RELEASE}.zip
curl -L https://github.com/opencv/opencv_contrib/archive/${RELEASE}.zip -o opencv_contrib-${RELEASE}.zip
unzip opencv-${RELEASE}.zip
unzip opencv_contrib-${RELEASE}.zip
cd opencv-${RELEASE}/
mkdir release
cd release/
cmake -D WITH_CUDA=ON -D CUDA_ARCH_BIN="5.3" -D CUDA_ARCH_PTX="" -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-${RELEASE}/modules -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON_EXECUTABLE=/usr/bin/python3.7 -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3.7 -D BUILD_DOCS=OFF -DENABLE_PRECOMPILED_HEADERS=OFF ..
make -j3

install

sudo make install/strip
sudo ldconfig

da perfezionare…

cp /usr/local/lib/python3.7/site-packages/cv2/python-3.7/cv2.cpython-37m-aarch64-linux-gnu.so lib/lib/python3.7/site-packages/

benchmarks

cd /lab/dnn/models/plates-tiny
darknet detector demo model.data model.test.cfg backup/model_final.weights /lab/dnn/dataset/dataset/marocco/originals/video/01.mkv -dont_show
python process_video.py --model plates-tiny dataset/dataset/marocco/originals/video/01.mkv