Jetson Nano的配置+opencv+torch+torchvision(新版)

由于原版有特别特别多问题,我就懒得再去改了,直接出一个新篇

一.烧录

每一个jetson nano用的时候都需要配备一个SD卡用来盛装系统和数据,其中的系统就需要用我们自己的电脑和读卡器进行烧录。

系统前去英伟达下载,链接:Jetson Download Center | NVIDIA Developerhttps://developer.nvidia.com/embedded/downloads

我用的系统名称:Jetson Nano Developer Kit SD Card Image  

其他的系统可以根据自己的需求进行挑选

随后将下载的系统烧录到SD卡上(下载的压缩包不需要解压,保持下载原样就好)

Jetson Nano的配置+opencv+torch+torchvision(新版)_第1张图片


烧录的软件为balenaEtcher

烧录完成后就可以插卡准备开机了

注:倘若SD卡原本就有旧系统,插上电脑后可能会跳出十几个甚至几十个磁盘并报错,无需慌张,全部关闭后前往前往磁盘管理进行格式化

参考链接:Jetson-NanoSD卡重新格式化 | 码农家园 (codenong.com)https://www.codenong.com/cs106946176/

建议使用方法1,但是注意别手滑输错磁盘,不然寄。

注:开机时尽量不要连接任何USB接口,否则可能一直报错无法开机,一般是卡在’A start job is running for end-user configureation after initial OEM installation‘

注:假如开机的时候一直卡在英伟达logo界面,就是SD卡读取的问题,关机之后用擦一下SD卡就好(金手指)

二.设置中文

语言在最初初始设置就会让你选择中文,但是并非完整版,完整的中文需要右上角设置——语言支持中下载,进入后提示有部分库未安装,静等安装即可。安装完毕后在原界面向下拉即可看到中文,将其拖到English上面,随后点击应用到所有。

下方还有添加或删除语言按钮,点击后根据中文是否选中进行修改。

(输入法设置)很多人使用ibus,好像确实好用,但是我没用,所以我也不好给出时间步骤,参考链接:Jetson Nano配置与使用(3)中文输入法ibus配置 - 简书 (jianshu.com)https://www.jianshu.com/p/c95167d7d6c3

我使用的是google输入法,倒也还可以,可以根据自己的喜好进行选择,参考链接:Jetson nano安装Google拼音输入法 | 码农家园 (codenong.com)https://www.codenong.com/cs106177082/

注:假如使用的时候不显示文本框,那么可以试试以下代码

killall fcitx-qimpanel

sudo apt-get remove fcitx-ui-qimpanel

三.风扇

首先下载驱动,在命令台输入以下指令

git clone https://github.com/Pyrestone/jetson-fan-ctl.git

随后安装

sudo ./install.sh

根据自己的喜好进行参数调整(这边建议不做调整)

sudo gedit /etc/automagic-fan/config.json

其中

{

"FAN_OFF_TEMP":20,                     #风扇关闭温度

"FAN_MAX_TEMP":50,                   #风扇全速温度

"UPDATE_INTERVAL":2,           #转速更新间隔(秒)

"MAX_PERF":1                         #大于零时通过最大化CPU和GPU时钟最大化性能

}

最后应用配置

sudo service automagic-fan restart

四.镜像

之前推荐使用镜像,但是经过这么多天的重新配置,我还是建议,不要弄镜像了,因为镜像的东西不一定是jetson能用的,那就不如用官方的源了,以免出问题,假如速度慢或找不到源就用临时镜像。

话虽然这么说,我还是把镜像教程放出来,有需要的可以用

永久镜像

备份

sudo cp /etc/apt/sources.list /etc/apt/sources_save.list

继续打开

sudo gedit /etc/apt/sources.list

选择下述两个其一即可,删除全部内容用其替换

# 清华源

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe

deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe

deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe

deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe

deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe



# 中科大源

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic universe

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates universe

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic multiverse

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates multiverse

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security universe

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security multiverse

更新修改(可能会因为工作量太大关机,无需担心,重新拔线插线即可

sudo apt-get update

sudo apt-get upgrade

临时镜像

这是豆瓣的镜像,要长一点

pip install *** -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

假如报错可以换一个镜像试试,把-i后面的东西全删掉

这是其他的镜像

pip install *** -i https://pypi.tuna.tsinghua.edu.cn/simple

常用的国内镜像

​
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

豆瓣:http://pypi.douban.com/simple/

假如报错或者慢就可以试一试上述其他网址,就把清华网址删掉换一个就好

五.文件权限

注:使用git或者其他命令台方式下载的文件可能上锁无法使用,这个时候就需要去锁,使用以下指令获得权限

1.解锁当前路径下的单个文件

sudo chmod 777 filename

2.解锁当前路径下的所有文件夹以及文件

sudo chmod -R 777 .

解锁文件肯定要到相应的文件夹中进行设置,这个过于基础,我就不多阐述了。

六.CUDA配置

打开终端,输入命令

sudo gedit .bashrc

在文件最后输入以下内容

export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRRY_PATH}}

export CUDA_ROOT=/usr/local/cuda

应用修改

source ~/.bashrc

检验修改是否成功

nvcc -V

若结果如下图,则成功

Jetson Nano的配置+opencv+torch+torchvision(新版)_第2张图片

七. conda

本来还是想用conda,但是如果你的目标比较明确,那我的建议是,不用conda了,因为英伟达的一些官方文件都适配的默认的3.6版本,假如用conda反而会麻烦。但假如你只是自己摸索着玩,那还是搞个conda用一用吧,以下是教程。

由于正常的anoconda或者miniconda都用不了,所以我们用miniforge。

下载链接:GitHub - conda-forge/miniforge: A conda-forge distribution.A conda-forge distribution. Contribute to conda-forge/miniforge development by creating an account on GitHub.https://github.com/conda-forge/miniforge

下载linux aarch64(arm64)版本

Jetson Nano的配置+opencv+torch+torchvision(新版)_第3张图片

进入包含miniforge安装包的目录,右键打开终端后输入命令安装

bash Miniforge3-Linux-aarch64.sh -b

安装结束后按如下命令初始化conda ,初始化后重新打开终端。

~/miniforge3/bin/conda init

输入命令:conda -V查看版本:

conda

八.Opencv

由于我需要用4.1.2但是直接pip或者conda总是失败,所以需要用直接下载包编译的方法,后来发现是因为opencv是x64的系统,但是jetsonnano或者树莓派都是arm64的,而x64能用x64或arm64,arm64不能用x64,所以要进行编译,这里就用4.1.2作为例子了。

参考链接:Ubuntu18.04下安装openCV4.1.2_apt-get opencv4_小海豚-zhao的博客-CSDN博客https://blog.csdn.net/u012670181/article/details/103542860?spm=1001.2014.3001.5506

注意:

在整个安装过程中,包括的使用中不要出现中文路径。

一、下载openCV4.1.2

可以在官网进行下载https://opencv.org/releases/->选择Sources下载源码然后进行编译安装

也可以在https://github.com/opencv/opencv/tree/4.1.2下载源码进行编译安装

二、更新Ubuntu18.04apt源为阿里源(视个人情况而定,也可以不换,如果已更新或者其他源可以自己尝试)

// 1.备份/etc/apt/sources.list

cp /etc/apt/sources.list /etc/apt/sources.list.bak

//2.打开/etc/apt/sources.list

sudo vim /etc/apt/sources.list

// 3.删除文件内所有内容

// 4.将一下内容复制进/etc/apt/sources.list文件中

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse  

// 5.更新源

sudo apt-get update

sudo apt-get upgrade

注:若无法安装libjasper-dev的解决方案

// 1.检测是否有问题

apt-get install libjasper-dev

如果有报错信息:errorE: unable to locate libjasper-dev则继续解决一下问题,没有则可跳过第三步。

// 2.解决方案

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"

sudo apt update

sudo apt install libjasper1 libjasper-dev

添加一个源来重新安装,其中,libjasper1是新的依赖项。

但是上述命令会可能产生新的问题。无法找到add-apt-repository问题

// 3.解决add-apt-repository问题

三、添加openCV安装的相关准备

//1.安装cmake(如果已经安装过可以忽略)

sudo apt-get install cmake

// 2.安装openCV相关依赖(如果刚才第三步失败或者跳过的话可能 libjasper-dev 会报错)

sudo apt-get install build-essential libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

事实上,OpenCV的依赖项众多,在cmake阶段检查依赖项是否安装,调整自己的功能。因此,可根据项目需要调整安装依赖项。

四、安装openCV

//1.解压缩

// 2.打开终端并切换至主目录下的openCV-4.1.2

cd /home/DepZcb/openCV-4.1.2

// 3.在openCV-4.1.2下创建一个名为build目录,并切换到这个目录下

mkdir build

cd ./build

// 4.执行cmake,生成makefile文件

cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..

// 5.执行makefile文件

sudo make -j[N]

说明:-j[n]我的电脑是四核四线程,可以运行make -j4,如果是八核可用make -j8。如果不想编译时影响工作,可以用-j3。建议虚拟机的同学就直接运行sudo make就行.

这一步事件很长,请耐心等待。

// 6.进行make install安装

sudo make install

五、python环境的配置

// 1.安装python和numpy 

sudo apt-get install python-dev python-numpy python3-dev python3-numpy

#如果已经安装过,则该步骤省略

// 2.验证

python3

import cv2

print(cv2.__version__)

若输出'4.1.2'则没问题了

注:卸载openCV

如果安装出现了百度不能解决的问题。最好的办法就是卸载重新装一次(第一次安装时前前后后卸载了四五次)

// 1. 删除openCV4.conf

cd /etc/ld.so.conf.d/

sudo rm opencv4.conf

// 2.卸载

cd

cd ./OpenCV-4.1.1/build

sudo make uninstall

九.Torch

Torch和opencv出现故障的原因是一样的,都是系统不同所以需要编译,所以torch官方是找不到能用的文件的,以下以1.6.0为例子。(ps:这就是不推荐用虚拟环境的原因,一般要求的python版本为3.6)

参考链接:JetsonNano学习(五)JetsonNano 安装 PyTorch 及 Torchvision_jetson nano安装pytorch_AndrewWuY的博客-CSDN博客https://blog.csdn.net/weixin_45463952/article/details/125857709?spm=1001.2014.3001.5506

NVIDIA官方下载链接:

PyTorch for Jetson - Jetson & Embedded Systems / Jetson Nano - NVIDIA Developer Forumshttps://forums.developer.nvidia.com/t/pytorch-for-jetson/72048

一、安装PyTorch

1. 安装文件下载 

Jetson Nano的配置+opencv+torch+torchvision(新版)_第4张图片


在NVIDIA官网下载 Python 3.6 - torch-version-cp36-cp36m-linux_aarch64.whl 文件到本地。(点开pytorch v1.6.0,也可根据自己的需求选择)

2.安装必要环境

在终端命令中输入命令完成相关库的安装:

sudo apt-get install python3-pip libopenblas-base libopenmpi-dev libomp-dev

pip3 install Cython

进入whl文件所在文件夹

cd ******(填你的文件所在的文件夹路径)

pip3 install numpy torch-version-cp36-cp36m-linux_aarch64.whl       #等待安装完成

这里是一些依赖环境,可以都跑一次下一下保证没缺啥

sudo apt-get install build-essential make cmake cmake-curses-gui -y

sudo apt-get install git g++ pkg-config curl -y

sudo apt-get install libatlas-base-dev gfortran libcanberra-gtk-module libcanberra-gtk3-module -y

sudo apt-get install libhdf5-serial-dev hdf5-tools -y

sudo apt-get install nano locate screen -y

sudo apt-get install libfreetype6-dev -y

sudo apt-get install protobuf-compiler libprotobuf-dev openssl -y

sudo apt-get install libssl-dev libcurl4-openssl-dev -y

sudo apt-get install cython3 -y

sudo apt-get install build-essential -y

sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev -y

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev -y

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev -y

sudo apt-get install libxvidcore-dev libx264-dev -y

sudo apt-get install libatlas-base-dev gfortran -y

sudo apt-get install ffmpeg -y

二.安装torchvision

Torchvision和torch要版本对应,如果你用的1.6.0的torch,那么torchvision就是0.7.0,以下是对应表

Jetson Nano的配置+opencv+torch+torchvision(新版)_第5张图片

sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libopenblas-dev libavcodec-dev libavformat-dev libswscale-dev

git clone --branch (删点本括号换成你的torchvision的版本号,如v1.6.0) https://github.com/pytorch/vision torchvision

cd torchvision

export BUILD_VERSION=0.x.0  # 其中0.x.0还是你的版本

python3 setup.py install --user

cd ../ 

易出现问题的主要就只有这些了,到这里后面再出现问题也好解决了,直接百度一般就都没什么问题了,按部就班来,问题不大的

假如出了问题注意尽量要带上jetsonnano,不然百度给出的解决方案可能和jetson的系统不一样导致越改越乱。

你可能感兴趣的:(opencv,人工智能,计算机视觉,python,机器学习,深度学习,pytorch)