jeston开发教程(1)系统与环境配置

  由于本次公司项目购入了两块开发板分别为Nano和NX,故在本次记录中会对这两块开发板都进行记录。

1、镜像安装

  jetson系列开发板必须所有都编写通过TF卡进行系统写入,至少我曾经使用过的带有eMMC的TK1平台与目前使用的两个不带有EMMc的Nano与NX都是如此。

1)镜像下载

  为了保正下载的镜像可以正常使用,且为最新镜像,官方下载网站如下:https://developer.nvidia.com/embedded/downloads
并工具平台进行选择,选取合适的镜像进行下载,并解压。

2)TF卡格式化

  由于我使用在windows10系统环境下,便直接使用了windows10系统集成的磁盘管理,不清楚如何找到的可以直接百度“window10系统分区调整”无论即可。

3)TF卡烧写

  我使用的烧录工具:https://download.csdn.net/download/qq_23301719/12658477
(如果出现404,基本是CSDN审核还没有过)
jeston开发教程(1)系统与环境配置_第1张图片

  通过下来菜单选择烧录的驱动器,通过文件夹选项选择需要烧写的文件,注意区分你的Jetson开发板型号,解压后的镜像名称是一样的,找我的NX和NANO是一样的。之后如下图装载TF卡

4)镜像写入与开机

  本人购买的时候直接走的官方渠道,忘记购买了外壳,所以一度没有找到开机键,如何发现NX开发板上电后电源指示等就会直接亮起,位置在网口旁边,博主比较懒就不拍了。
  至于NANO这个板比较调皮,如果你直接供19v电源,它是不会开机的,需要把19V电源板边上那个跳线帽把杜邦座短接后系统才会开启。
  连接显示器后系统会显示出标志性的NVIDIA官方logo,拿到开发板的朋友自己去看吧!系统初始化过程与正常的ubuntu大同小异,除了不要配置你的分区以外没有什么不同,就不说了大家自己按步骤安装就好了,但最好不要连接WiFi连接了安装过程中就会开始更新软件,国外镜像,那速度,你懂得。后面会告诉你怎么更换镜像源的!

2、系统基本配置

  完成正常开机后话不多说,开启终端,连接WIFI,开始我们的系统配置!

1 Cuda环境变量配置

  或许是我不懂吧,但我还是想突出老黄的工程师,为什么还要我配置CUDA环境啊!!!!!!你这玩意不就是让人用Cuda的吗,系统就配置好不就好了!

sudo vim ~/.bashrc

  文件末尾添加如下内容

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

  刷新环境变量:

source ~/.bashrc

  刷新环境变量以后可以通过查看nvcc版本的指令来查看是否配置好cuda相关的环境变量。

nvcc -V

nvcc-V

2 更换镜像源

Nano的镜像默认是国外的源,速度很慢,国内的源有的上不去,有的包无法安装,经过测试清华大学的源完美可用,现放上教程
首先备份原本的source.list文件

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak    #为防止误操作后无法恢复,先备份原文件sources.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

到sources.list后保存,之后打开终端输入

sudo apt-get update

3 GPU监视

  在此允许我偷偷写个小笑话,我一个同事用习惯了PC机到了这些嵌入式设备,他的第一反应是查看驱动的情况,然后来了一个nvidia-smi命令,告诉我你这个机器没有装显卡驱动啊!这他怎么装TensorFlow,而且极其义正言辞!瞬间我也傻了,好像很有道理,但是!不对,这东西哪来的显卡!明明就是一SoC上哪来显卡!
  随之而来的驳斥:那要怎么看CPU占用的资源情况?
  重点工具:Jtop,老外的一个Jetson开发者为Jetson系列开发的一个小App,可以通过pip安装,用来监视系统资源使用,温度等等一些关键参数,可以为你代码运行调试阶段提供一些支持,也可以查看整体的资源占用率,查看当前温度和内存使用是否处于危险的状态。开启一个新的命令行,安装命令如下:

sudo -H pip install jetson-stats

  哦不,令人窒息的操作!老黄家的工程师居然量pip工具都没有给你安装!好的来:

sudo apt install -y python3-pip
sudo -H pip install jetson-stats

  好的,我们可以愉快的查看我们的系统资源占用情况了

sudo Jtop

  好吧这个工具是图形界面的,难受!好的这也成为了我后面选择安装远程桌面的理由之一虽然这个工具提供了Python接口,但是小的现在不会用,好吧!不喜请喷!

3、远程登陆设置

1) ssh配置

  对于ubuntu嵌入式开发而言ssh远程登陆可谓是重中之重的基本功能配置,但Nvidia官方在系统打包的时候并没有考虑到这一点,导致开发板到手后需要手动安装ssh服务才可以正常使用ssh进行远程登陆。

sudo apt install openssh-server
sudo reboot

  处理完ssh,顺手添加一个上传和下载工具

sudo apt inatall lrzsz

2) 远程桌面

  由于是用于图形开发,调试时需要实时监控图像,所以准备好一个远程桌面工具还是必要的。由于官方系统自带的桌面系统只能支持同时登录一个账号,也就是说在本地连接屏幕的时候如果你已经登录了账号,或者设置了自动登录账号的话,如果再用远程桌面连接就会出现闪退的问题。所以这里我们会另外安装xubuntu-desktop来规避这个情况。新安装的桌面与默认的桌面不同,如果你对NVIDIA系统的默认桌面情有独钟的话,请参考上面其他几种方法。

  首先你还是需要用上面其他的方法登录到Jetson Nano. 然后安装一些远程登录需要用到的服务插件。

sudo apt-get update
sudo apt-get install -y tightvncserver
sudo apt-get install -y xrdp
sudo apt-get install -y xubuntu-desktop
sudo reboot

安装完成后,重启Jetson Nano(NX)。电脑打开远程桌面连接, 输入Jetson设备的IP地址,然后点击连接。

输入账号名和密码,然后点击OK登录即可

看看登录后的桌面吧

4、深度学习环境设置

  重点来了,我们的生产力工具来了!作为一个图处猿,这些框架就是老板考核我们KPI的重要工具了。

1 pytorch环境配置!

  首先是脸书的框架pytorch也是博主的主力框架!
安装流程参考了:https://blog.csdn.net/qq_37301003/article/details/107139218
提供的博客,我这就提供一个sh文件来方便大家傻瓜式安装!
下载地址:
pytorch镜像文件下载地址:https://pan.baidu.com/s/1QE7f9TiE-dXaodh895wnSw
提取码:kr2u

具体安装过程在此不对上面那为博主提供的编译版本,再次非常感谢那位博主的无私提供,但在其在博客中提供的那个pytorch安装包虽然可以正确安装,但在我这却无法正常运行。其现象为:

import thorh

后代码会自动崩溃,经过多方程序均无法得到解决,同时在pytorch官方github上下载的pytorch安装包经测试,由于cuda版本限制无法正常使用,笔者最终在nvidia的相关网站上找到了有老黄家工程师编译的pytorch库下载链接如下:

NV官方地址:https://elinux.org/Jetson_Zoo#PyTorch_.28Caffe2.29

博主使用版本:https://download.csdn.net/download/qq_23301719/12700976

  原本想上传一个到CSDN上的,但系统告诉我有了就不让我传了,共享一下我自己用的下载连接吧,或者大家可以去:https://github.com/pytorch/pytorch 里面找有最新的和稳定版的两种下载连接,根据下载环境包修改博主提供是脚本文件就好了。 但在安装torchvision的时候一直存在问题,至今没有解决,所以后面我会安装上OpenCV来做替代的。


今天先暂时到这里,未完,待续。

2 TensorFlow2安装

a 软件包安装

sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev
sudo apt-get install python3-pip

注意,在安装其他pip包前需要先单独安装h5py包,博主在修改pip源后再安装该包,一直处于失败状态,当使用官方源后居然可以正常安装了,原因不明,博主也很迷惑。

sudo pip3 install -U h5py==2.9.0

b 修改pip源

创建一个~/.pip/pip.conf文件

sudo mkdir ~/.pip
cd ~/.pip
sudo vim pip.conf

对文件写入一下内容

[global] 
index-url = http://pypi.douban.com/simple 
[install] 
trusted-host=pypi.douban.com

c 依赖源安装

sudo pip3 install -U pip
sudo pip3 install -U numpy grpcio absl-py py-cpuinfo psutil portpicker six mock requests gast h5py astor termcolor protobuf keras-applications keras-preprocessing wrapt google-pasta

d TensorFlow源包安装

对于源包的安装我建议有条件的同学在使用“科学上网”的情况下先进行下载后在拷贝到开发板上进行安装。

下载地址: https://developer.download.nvidia.com/compute/redist/jp/

在该地址下寻找自己想要的版本即可。

建议在安装tensorflow前先安装好scipy1.4.1

我使用的安装包下载地址:https://download.csdn.net/download/qq_23301719/12660635

最新tensorflow2.2版本下载地址:https://download.csdn.net/download/qq_23301719/12700974

这边我把我使用到的三个软件源安装包都打包到上面地址中了,有懒得一个一个找的朋友可以自己去下载。

sudo pip3 install scipy-1.4.1-cp36-cp36m-linux_aarch64.whl
sudo pip3 install tensorflow_gpu-2.2.0+nv20.6-cp36-cp36m-linux_aarch64.whl

快捷安装脚本下载连接:

3 OpenCV安装

opencv 由于发现系统其实已经集成了,故不在此进行过多赘述了,大家用就好了。

后续会开始更新:

jetson下的tensorRT的折腾教程,不过前期应该先更新tensorRT的自学笔记。

你可能感兴趣的:(jetson开发,深度学习)