Tool
- Host Computer Ubuntu18
- download SDKManager from nvidia
- usb connected
- Jetson and Host connected in the same router
- Enter recorver mode (connect ground and REC pin 2, pin3)
- Power ON (J48 need connect)
OS
- Jetpack 4.6.1
- Develop Tools(Cuda , cudnn …)
- Select max Power Mode after OS installed
- Start fan
sudo sh -c 'echo 255 >/sys/devices/pwm-fan/target_pwm'
Yolo Dependence
- first go to
https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-10-0-now-available/72048
and download pytorch1.9.0 filetorch-1.9.0-cp36-cp36m-linux_aarch64.whl
- download torchvision0.10.0
git clone --branch 0.10.0 https://github.com/pytorch/vision torchvision
- Install source dependence
sudo apt-get install libblas3 liblapack3 liblapack-dev libblas-dev gfortran libatlas-base-dev
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libfreetype6-dev
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
pip3 install setuptools -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install Cython -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install Pillow -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install sklearn -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install serial -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install networkx -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install tqdm -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install seaborn -i https://pypi.tuna.tsinghua.edu.cn/simple
- Install pytorch1.9.0 and torchvision0.10.0 from source
pip3 install torch-1.9.0-cp36-cp36m-linux_aarch64.whl
$ cd torchvision
$ export BUILD_VERSION=0.10.0 # where 0.x.0 is the torchvision version
$ python3 setup.py install --user
$ cd ../ # attempting to load torchvision from build dir will result in import error
$ #pip3 install 'pillow<7' # always needed for Python 2.7, not needed torchvision v0.5.0+ with Python
Yolo inference environment
disable all thop
by comment
build opencv-4.4.0 and contrib-4.4.0 from source
https://automaticaddison.com/how-to-install-opencv-4-5-on-nvidia-jetson-nano/
https://github.com/opencv/opencv_contrib/issues/1301
https://blog.csdn.net/u011736771/article/details/85960300
sudo apt-get purge libopencv*
sudo apt-get install build-essential cmake git unzip pkg-config
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libgtk2.0-dev libcanberra-gtk*
sudo apt-get install python3-dev python3-numpy python3-pip
sudo apt-get install libxvidcore-dev libx264-dev libgtk-3-dev
sudo apt-get install libtbb2 libtbb-dev libdc1394-22-dev
sudo apt-get install libv4l-dev v4l-utils
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install libavresample-dev libvorbis-dev libxine2-dev
sudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev
sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev
sudo apt-get install libopenblas-dev libatlas-base-dev libblas-dev
sudo apt-get install liblapack-dev libeigen3-dev gfortran
sudo apt-get install libhdf5-dev protobuf-compiler
sudo apt-get install libprotobuf-dev libgoogle-glog-dev libgflags-dev
cd ~
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.4.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.4.0.zip
unzip opencv.zip
unzip opencv_contrib.zip
mv opencv-4.4.0 opencv
mv opencv_contrib-4.4.0 opencv_contrib
rm opencv.zip
rm opencv_contrib.zip
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D EIGEN_INCLUDE_PATH=/usr/include/eigen3 \
-D WITH_OPENCL=OFF \
-D WITH_CUDA=ON \
-D CUDA_ARCH_BIN=5.3 \
-D CUDA_ARCH_PTX="" \
-D WITH_CUDNN=ON \
-D WITH_CUBLAS=ON \
-D ENABLE_FAST_MATH=ON \
-D CUDA_FAST_MATH=ON \
-D OPENCV_DNN_CUDA=ON \
-D ENABLE_NEON=ON \
-D WITH_QT=OFF \
-D WITH_OPENMP=ON \
-D WITH_OPENGL=ON \
-D BUILD_TIFF=ON \
-D WITH_FFMPEG=ON \
-D WITH_GSTREAMER=ON \
-D WITH_TBB=ON \
-D BUILD_TBB=ON \
-D BUILD_TESTS=OFF \
-D WITH_EIGEN=ON \
-D WITH_V4L=ON \
-D WITH_LIBV4L=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D BUILD_opencv_python3=TRUE \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D BUILD_EXAMPLES=OFF ..
make -j4
cd ~/opencv/build
sudo make install
sudo ldconfig
make clean
sudo apt-get update
使用opencv 4.4.0的原因在于,从这一版开始,专利过期的sift算子从contribute模块的xfeature2d转移到主代码了,更方便调用。
docker experiment
just for fun
sudo docker pull nvcr.io/nvidia/l4t-ml:r32.6.1-py3
sudo docker run -it --gpus all -v /home/nano/yolov5-face-master/:/yolov5 -e DISPLAY=:0 -v /tmp/.X11-unix:/tmp/.X11-unix nvcr.io/nvidia/l4t-ml:r32.6.1-py3