jetson nano 开发环境配置




文章目录

  • jetson nano 开发环境配置
  • 一、增加交换空间大小
  • 交换空间的概念
  • 1.检查系统的交换空间
  • 2.检查内存
  • 3.增加交换空间
  • 4.设置所有用户都可以读写 swapfile
  • 5.设置交换空间
  • 6.激活交换空间
  • 7.验证增加空间是否有效
  • 二、切换高低功率
  • 1.查看当前模式
  • 2.切换模式
  • 三、更新系统、移除无用软件
  • 1.LibreOffice
  • 2.更新系统
  • 四、安装系统所需的包
  • 1.配置cuda环境变量
  • 2.配置系统级安装包
  • 五、配置python系统
  • 1.安装pip
  • 2.换源
  • 3.安装虚拟环境
  • 4.使用jtop
  • 六、安装pytorch
  • 七.遇到的问题
  • 1.numpy



一、增加交换空间大小

当电脑运行内存不足的时候,我们一般会想到通过给电脑加内存条的方式来增加内存。对此,本文提供了运行内存不足的另一个解决方案:为电脑配置交换空间

交换空间的概念

交换空间是硬盘驱动器上的一个区域,它被指定为电脑需要临时存储但无法再保存在 RAM 中的数据的位置。由于写入磁盘比写入 RAM 慢得多,因此操作系统更愿意在内存中运行应用程序数据,并使用、交换旧数据。

简而言之,交换空间可以看做系统 RAM 耗尽时的后备空间

1.检查系统的交换空间
swapon --show

jetson nano pytorch 环境配置_ubuntu

2.检查内存
free -h

jetson nano pytorch 环境配置_python_02

3.增加交换空间
sudo fallocate -l 2G /swapfile
4.设置所有用户都可以读写 swapfile
sudo chmod 666 /swapfile
5.设置交换空间
sudo mkswap /swapfile
6.激活交换空间
sudo swapon /swapfile
sudo vi /etc/fstab
#复制  /swapfile swap swap defaults 0 0

jetson nano pytorch 环境配置_pytorch_03

7.验证增加空间是否有效
sudo spapon --show

jetson nano pytorch 环境配置_virtualenv_04

sudo free -h

jetson nano pytorch 环境配置_pytorch_05

二、切换高低功率

有两种、10w 、5w(自动关掉两个cpu,只使用cpu1,2)模式

1.查看当前模式
sudo nvpmodel -q
#当前10w

jetson nano pytorch 环境配置_人工智能_06

2.切换模式
sudo nvpmodel -m 1  #0是10w模式 1是5w
sudo jetson_clocks  #使cpu频率固定

三、更新系统、移除无用软件

1.LibreOffice
sudo apt-get purge libreoffice*
sudo apt-get clean
2.更新系统

备份sources.list

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

修改sources.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

四、安装系统所需的包

1.配置cuda环境变量
vim ~/.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
2.配置系统级安装包
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
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

五、配置python系统

1.安装pip
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
2.换源
mkdir ~/.pip
vim ~/.pip/pip.conf
#粘贴以下到文件
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
3.安装虚拟环境
sudo pip install virtualenv virtualenvwrapper
vim ~/.bashrc
# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs #指定所有的需拟环境的安装位置
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 #指定解释器
source /usr/local/bin/virtualenvwrapper.sh #进行激活生效
#重新载入
source ~/.bashrc

创建虚拟环境

mkvirtualenv test

virtualenv常用命令

#创建一个环境
mkvirtualenv name
#不使用默认python版本、使用指定python版本创建环境
mkvirtualenv -p /python目录/python.exe name
#激活环境
workon name
#退出
deactivate
#删除
rmvirtualenv name
#所有环境
lsvirtualenv
#复制虚拟环境
cpvirtualenv source_name dest_name
4.使用jtop
sudo -H pip install jetson-stats
sudo jtop

六、安装pytorch

https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-10-now-available/72048

#下载下来先 我下载的是pytorch v1.10.0

jetson nano pytorch 环境配置_python_07

安装pytorch

workon test #进入虚拟环境
pip install torch-1.10.0-cp36-cp36m-linux_aarch64.whl

安装vision

git clone --branch <version> https://github.com/pytorch/vision torchvision   # see below for version of torchvision to download
cd torchvision
export BUILD_VERSION=0.x.0  # where 0.x.0 is the torchvision version  
python setup.py install     # use python3 if installing for Python 3.6
cd ../  # attempting to load torchvision from build dir will result in import error

验证

python -c "import torch;print(torch.__version__);print('cuda available:'+str(torch.cuda.is_available()));print('cuDNN version:'+str(torch.backends.cudnn.version()))"

七.遇到的问题

1.numpy

使用virtualenv创建环境后 没有numpy

ImportError: numpy.core.multiarray failed to import
ImportError: numpy.core.multiarray failed to import
ModuleNotFoundError: No module named 'numpy'
Traceback (most recent call last):
  File "app.py", line 9, in <module>
    from models.yolo import DetectMultiBackend
  File "/home/mmm/work/pytorch_base_infer/models/yolo.py", line 9, in <module>
    import cv2
  File "/home/mmm/.virtualenvs/test/lib/python3.6/site-packages/cv2/__init__.py", line 8, in <module>
    from .cv2 import *
ImportError: numpy.core.multiarray failed to import

安装以后执行代码报错

Illegal instruction (core dumped)

解决:

vim ~/.bashrc
#在末尾添加
export OPENBLAS_CORETYPE=ARMV8
source ~/.bashrc