【Jetson-Nano】1.基础安装环境配置
文章目录1、外观2、Jetson Nano的规格3、Jetson Noao 激活4、 安装系统包和prerequisites4.1增加交换空间大小4.2 ssh远程连接nano并设置最大功率4.2.1 远程连接nano4.2.2 切换高低功率4.2.3 更新系统并移除无用软件4.3 安装系统所需的包4.3.1配置系统级的安装包4.3.2 配置python环境4.3.3 系统工具jtop和nvidi
文章目录
本篇文章会介绍jetson nano系统的基础安装,安装后可以根据需求进行后续操作。
所写内容全部原创,经过实测,参考请添加引用说明。
先让大家看看长啥样,各位观众!!!
1、外观
简简单单来个6视图。
2、Jetson Nano的规格
建议从某东或某宝购买时带个Micro usb电源和64G的 SD卡,供电稳定,存储够用。
3、Jetson Noao 激活
一、在你启动NVIDIA Jetson Nano前,你需要做三件事:
- 一个 micro-SD card (最小16GB)
- 一个 5V 2.5A MicroUSB 电源
- 网线
二、下载 并flash .img 文件到你的micro-SD 卡里
-
1、 官方提供了三种方式format,分别用于windows,MAC,linux系统,我用的是windows。
-
2、下载的文件是
-
3、解压前有5G(解压后10多个G,所以推荐64G卡), 系统是Ubuntu18.04LTS,就用官方推荐的Etcher来烧进去。
我是买了官方的SD卡的,所以这个卡是做好的,直接可用。但还是格式化后走了一遍(不怕累) -
4、将SD卡放到nano卡槽中,连接好鼠标、键盘、网线和显示器就可以上电了。
上电后,一路安装,会有ubuntu的一些设置,比如时区,键盘,用户名啥的,系统我选中国,会有中文输入法(下载很久,等不及了直接跳过,所以拼音不能用)。
5. 完成后的效果
4、 安装系统包和prerequisites
包括四个方面的内容
4.1. 增加交换空间大小
4.2. ssh远程连jetson nano
4.3. 安装系统所需的包,配置python环境
4.4. 安装jetson inference engine
4.1增加交换空间大小
这一步是必须的,显存个内存是共享受的,物理内存只有4G,所以个人感觉加上好一些。Swap交换空间是在硬盘上,当物理内存RAM用完时,会开始使用。交换空间可以采用专用交换分区或交换文件的形式。在大多数情况下,不存在交换分区,因此唯一的选择是创建交换文件。创建教程参考1和参考2该链接,将添加swap file到ubuntu 18.04系统上。
- first,检查当前系统的效换空间
sudo swapon --show
检查内存
free -h
内存有4G,交换空间2G.
- second,增加2G交换空间
a. 创那用于swap的文件
sudo fallocate -l 2G /swapfile
如果fallocate没有安装,将得到fallocate failed:Operation not supported的报错信息。可以用以下命令创建:
sudo dd if=/dev/zero of=/swapfile bs=2048 count=1048576
b. 所有用户都可以读写swap file,设置正确的权限:
sudo chmod 666 /swapfile
c. 设置交换空间
sudo mkswap /swapfile
d. 激活交换空间
sudo swapon /swapfile
#为了使这个激活永久有效
sudo vi /etc/fstab
#粘贴 /swapfile swap swap defaults 0 0
e. 验证增加空间是否有效
sudo swapon --show
sudo free -h
4.2 ssh远程连接nano并设置最大功率
4.2.1 远程连接nano
有显示器,但还是要用ssh ,有两个好处
- 可以降低因为显示而吃的GPU资源
- 电流不够的风险可以降低
查看用户名使用命令:
whoami
查看ip地址用:
ifconfig
连接时还可以打开cmd,输入:
ssh username@ip
会要输入密码的
4.2.2 切换高低功率
有两种供电方式,10W和5W。
#查看当前是那个模式
sudo nvpmodel -q
#将当前模式切换到5W模式,将会自动关掉两个cpu,只使用cpu1,2
sudo nvpmodel -m 1
两种模式,0 是高功率10w,1是低功率5w,默认状态是高功率。安装时,切换到最大功率,因为安装时会用到许多外设,耗电量大,在执行完功率状态切换后往往还要加一行:
sudo nvpmodel -m 0
sudo jetson_clocks
jetson_clocks
将会使cpu频率固定。另外nano有两种供电方式,一种是5V 2.5A(10W)的microUSB供电;但如果你要有很多外设在(键盘、鼠标、wifi、显示器)在使用,最好用5V 4A(20W)的供电方式,来保证nano的正常工作。
4.2.3 更新系统并移除无用软件
移除LibreOffice会为系统省很多空间,这个软件对做深度学习和计算机视觉算法也没有太多用
sudo apt-get purge libreoffice*
sudo apt-get clean
接着,更新系统,首选,更换国内安装源:
- 备份原先source.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2.修改source.list
sudo vim /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
- 更新软件列表
sudo apt-get update
可能会有如下问题:
E: The repository ‘https://repo.download.nvidia.com/jetson/common r32 Release’ does not have a Release file
原因多半是因为设置代理或网络不好,建议更换网络,并执行如下代码:
sudo add-apt-repository universe
再进行更新。
或者选择不安全的处理方式(不推荐):
sudo mv /etc/apt/sources.list.d/nvidia-l4t-apt-source.list ~
这个源与nvidia官方更新有关,如果报错多半与网络有关,换成网速好可上外网的基本就可以解决
4. 如果有软件需要更新,执行以下代码:
sudo apt-get upgrade
但初次烧录的系统都比较新,没必要更新。
4.3 安装系统所需的包
本节将配置系统所需的包,先配置cuda的环境变量, 填加PATH到.bashrc,具体路径,看自己cuda版本,在路径/usr/local
下。
具体写适合自己的:
vi ~/.bashrc
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_ROOT=/usr/local/cuda
source ~/.bashrc
然后用命令查看cuda版本:
nvcc -V
4.3.1配置系统级的安装包
sudo apt-get install build-essential make cmake cmake-curses-gui
sudo apt-get install git g++ pkg-config curl zip zlib1g-dev libopenblas-base libopenmpi-dev
sudo apt-get install libatlas-base-dev gfortran libcanberra-gtk-module libcanberra-gtk3-module
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev
sudo apt-get install nano locate screen
联网成功,网速顺利的话,将花费几分钟。
接着安装scipy的依赖和系统级别的cython:
sudo apt-get install libfreetype6-dev
sudo apt-get install protobuf-compiler libprotobuf-dev openssl
sudo apt-get install libssl-dev libcurl4-openssl-dev
sudo apt-get install cython3
如果要装TensorFlow Object Detection (TFOD) API ,还要装xml的工具:
sudo apt-get install libxml2-dev libxslt1-dev
接着安装opencv的系统级依赖,一些编解码的库:
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libxvidcore-dev libavresample-dev
sudo apt-get install libtiff-dev libjpeg-dev libpng-dev
4.3.2 配置python环境
先安装pip,python的包管理工具:
sudo apt-get install -y python3-dev python3-testresources python3-setuptools
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
rm get-pip.py
下文中将使用pip来安装python的一些包,对于一些网络不好的情况,建议先改变pip的安装源到国内:
#如清华的源
https://pypi.tuna.tsinghua.edu.cn/simple
#豆瓣源
https://pypi.doubanio.com/simple
#临时改源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
#持久的设为默认源
pip -U install pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
#如果您到 pip 默认源的网络连接较差,临时使用镜像站来升级 pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
我们将使用python的虚拟环境,来保证你使用的环境互相独立,使用体验与全局python环境 一样。
使用virtualenv和virtualenvwrapper安装命令:
sudo pip install virtualenv virtualenvwrapper
安装完之后,需要更新.bashrc
vim ~/.bashrc
在文件底部输入
# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs #指定所有的需拟环境的安装位置
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 #指定解释器
source /usr/local/bin/virtualenvwrapper.sh#进行激活生效
保存并退出,使用source 重新载入
source ~/.bashrc
更多virtualenv使用的基本命令可以阅读本文
接着创建python的虚拟环境,
mkvirtualenv nano #创建一个名字叫nano的虚拟环境
创建后直接进入了。
一些virtualenvwrapper的常用命令:
#创建一个环境
mkvirtualenv name #在~/.virtualenvs下安装name的需拟环境
#激活工作环境
workon name
#workon后不加任何东西可以列出所有虚拟环境
#退出当前虚拟环境
deactivate
#删除虚拟环境,需先退出
rmvirtualenv name
#列出所有虚拟环境
lsvirtualenv
#复制虚拟环境
cpvirtualenv sourece_name dest_name
4.3.3 系统工具jtop和nvidia-smi的结合
Jetson Nano中有个工具jtop, 可以同时查看CPU和GPU资源以及温度,另外就是可以把你当前的library展示出来.
#注意要退出虚拟环境,在系统中执行
sudo -H pip install jetson-stats
sudo jtop
选1、ALL的内容
2、GPU的内容
3、CTRL的内容
4、INFO的内容
通过本内容可以查看当前系统jetpack版本,安装有那些软件以及对应的版本。
按q退出。
下图为低功耗下的图:
本文图片为jetpack4.2.1内容,随着jetpack版本的升级,页面会发生改变,如下为jetpack4.4的部分内容,可以看到有6部分内容,这里不一一列举:
引用
文中所有链接部分都是引用参考内容及出处,一并致谢,些处不再过多罗列.如有侵权,请联系本人.
[1] https://www.pyimagesearch.com/2019/05/06/getting-started-with-the-nvidia-jetson-nano/
[2] https://medium.com/@jackycsie/jetson-nano-9d89cbf2fc18
[3] https://chtseng.wordpress.com/2019/05/01/nvida-jetson-nano-%E5%88%9D%E9%AB%94%E9%A9%97%EF%BC%9A%E5%AE%89%E8%A3%9D%E8%88%87%E6%B8%AC%E8%A9%A6/
[4] https://www.dlology.com/blog/how-to-run-keras-model-on-jetson-nano/
[5] https://thenewstack.io/tutorial-configure-nvidia-jetson-nano-as-an-ai-testbed/
[6] https://stackoverflow.com/questions/4757178/how-do-you-set-your-pythonpath-in-an-already-created-virtualenv/17963979
[7] https://www.pyimagesearch.com/2020/03/25/how-to-configure-your-nvidia-jetson-nano-for-computer-vision-and-deep-learning/
[8] https://jkjung-avt.github.io/jetpack-4.4/
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)