最近需要在jetson主板上面部署自己的程序,经历了诸多困难以后,终于弄好了,在此记录一下流程以及碰到的问题。预防下次碰到相同的问题。
1.我用的是将系统烧录到sd卡里面的方式。首先找一张内存卡,最好是大点的,我用的64的,系统自己就占据13g。再加上自己跑的程序什么的,内存还是多点好。
2.找好内存卡以后,先必须看一下把内存卡格式化,这一步很重要。如果是烧录过系统的内存卡一定要记得格式化!!!!
3.格式化完成以后,先去因特尔官方镜像网站下载一个系统的安装包,必须是符合自己板子的系统。因为我用的sd卡,所以下载的类型就是sd-card-image。
官方镜像网站:
https://developer.nvidia.com/embedded/downloads
网站很难打开,我把我下载的一个镜像放在下面:
链接:https://pan.baidu.com/s/1HRRmtv0BkhxeJrkgS1ZR5A
提取码:7enn
4.下载好镜像以后就是把镜像解压,解压以后把镜像烧录到sd卡里面,烧录的过程是我让我同学帮忙烧录的,用的软件是Win32DiskImager。就是烧录的过程有点漫长。
5.系统烧录好以后就是把内存卡插入板子的卡槽。弄好以后插上显示器,鼠标,键盘。开机以后就是安装Ubuntu系统的步骤,这里很简单,跟着点就好了。
这里有一点很重要:
你选系统语言的时候一定要选英语,选汉语后面可能会碰到莫名其妙的问题。所以还是选英语吧。后面会省去很多麻烦。而且如果系统不对,全部推到重来。
在后续我进行格式化的时候发现电脑检测sd卡是把sd卡当作一个系统来检测的。导致格式化很困难。也陆续尝试了网上很多的方法,都没有效果。
最后我就多次把sd卡插在电脑上面,偶然有一次弹出来了一个硬盘,还有格式化选项,就对sd卡选择格式化了,然后重新烧录的系统。所以这都是血和泪的教训,还是安装一下英语的吧,反正需要用的东西不多。
6.进入系统以后就是进行anaconda的安装。在这里我可以说是踩尽了坑。
(1)安装anaconda一定要注意板子是aarch架构的,所以你必须要安装aarch架构的anaconda。
安装其他的都不可以。这里很重要!!!!
(2)我安装完anaconda以后环境一直没法激活,于是就激活环境,但是环境只有在这个文件夹下才可以激活,回到桌面打开控制台就不可以了。所以放弃了。
(3)miniconda的安装。
找一个miniconda的aarch架构的安装包进行安装。
下载链接:
链接:https://pan.baidu.com/s/1NmfMPQglKoKdGxhM9gl1gA
提取码:9aot
下载完成以后,把安装包拷贝进u盘里面。用u盘拷进板子的系统里面。
打开终端以后依次输入下面命令:
cd 安装包所在文件夹
bash Miniconda-3.5.2-Linux-x86_64.sh
#一直回车就好了 碰见输入yes/no的直接输入yes
#中间看条约需要按很多回车,只需要按一下q就可以直接跳过了
cd /home/miniconda/bin
source activate
#最后一步是激活环境。
环境激活以后输入以下命令:
conda -V #查看conda版本
nvcc-v #查看cuda版本
在查看cuda版本是如果显示未找到命令就按照下面的操作来:
su root
vi ~/.bashrc
# 在文件末尾添加环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
export PATH=$PATH:/usr/local/cuda-9.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-9.0
# wq! 保存退出
# 更新配置文件
source ~/.bashrc
如果上面的操作进入到.bashrc不能够进行编辑操作就按照下面的步骤来:
打开home
CTRL+h
home文件夹下面隐藏的文件就会显示出来了。再按照上面的进行操作就好了。
如果操作完成以后还是不可以就按照下面的代码来操作:
su root
vi ~/.bashrc
# 在文件末尾添加环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
export PATH=$PATH:/usr/local/cuda-9.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
# wq! 保存退出
# 更新配置文件
source ~/.bashrc
即把cuda的版本号去掉就可以了。接下来继续nvcc -V就可以查看自己的cuda了。
根据自己的cuda版本去pytorch官网复制与自己版本相对应的命令进行下载就可以了。
最后还有一些碰到的比较难的问题,到现在也没有搞明白:
miniconda安装完成并且激活以后发现创建环境以后可以进行conda,但是不能够进行pip。
利用conda list查看发现环境当中是安装有pip的。没办法就把miniconda卸载以后又重新安装了一下,这个问题就解决了。
其他的就是在base建环境,安装自己程序需要的包了。就没有什么好说的了。