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
2.检查内存
free -h
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
7.验证增加空间是否有效
sudo spapon --show
sudo free -h
二、切换高低功率
有两种、10w 、5w(自动关掉两个cpu,只使用cpu1,2)模式
1.查看当前模式
sudo nvpmodel -q
#当前10w
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
安装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