由于原版有特别特别多问题,我就懒得再去改了,直接出一个新篇
每一个jetson nano用的时候都需要配备一个SD卡用来盛装系统和数据,其中的系统就需要用我们自己的电脑和读卡器进行烧录。
系统前去英伟达下载,链接:Jetson Download Center | NVIDIA Developerhttps://developer.nvidia.com/embedded/downloads
我用的系统名称:Jetson Nano Developer Kit SD Card Image
其他的系统可以根据自己的需求进行挑选
随后将下载的系统烧录到SD卡上(下载的压缩包不需要解压,保持下载原样就好)
烧录的软件为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 .
解锁文件肯定要到相应的文件夹中进行设置,这个过于基础,我就不多阐述了。
打开终端,输入命令
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
若结果如下图,则成功
本来还是想用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)版本
进入包含miniforge安装包的目录,右键打开终端后输入命令安装
bash Miniforge3-Linux-aarch64.sh -b
安装结束后按如下命令初始化conda ,初始化后重新打开终端。
~/miniforge3/bin/conda init
输入命令:conda -V查看版本:
conda
由于我需要用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
注意:
在整个安装过程中,包括的使用中不要出现中文路径。
可以在官网进行下载https://opencv.org/releases/->选择Sources下载源码然后进行编译安装
也可以在https://github.com/opencv/opencv/tree/4.1.2下载源码进行编译安装
// 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问题
//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阶段检查依赖项是否安装,调整自己的功能。因此,可根据项目需要调整安装依赖项。
//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
// 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'则没问题了
如果安装出现了百度不能解决的问题。最好的办法就是卸载重新装一次(第一次安装时前前后后卸载了四五次)。
// 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和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
在NVIDIA官网下载 Python 3.6 - torch-version-cp36-cp36m-linux_aarch64.whl 文件到本地。(点开pytorch v1.6.0,也可根据自己的需求选择)
在终端命令中输入命令完成相关库的安装:
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和torch要版本对应,如果你用的1.6.0的torch,那么torchvision就是0.7.0,以下是对应表
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的系统不一样导致越改越乱。