当前位置: 首页 > news >正文

开发基于Jeston Orin Nx 开发版 16G的实现

一、基本配置

1.配置参数

密码:yahboom

Ubuntu 20.04版本、python3.8、CUDA11.4、cuDNN8.6、TensorRT8.5、Jetpack5.1.1、Opencv4.5.4版本

终端输入命令:sudo jtop

其中Jetpack是英伟达提供的专门供它自己的嵌入式计算机平台使用的人工智能包。

终端输入命令:sudo apt install nvidia-jetpack

2.配置CUDA和cuDNN

2.1 配置环境变量

由于镜像自带,无需安装,直接配置即可。

# 打开~/.bashrc
sudo vim ~/.bashrc
# 在文本末输入如下代码:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64
export PATH=/usr/local/cuda/bin:$PATH
export CUDA_HOME=/usr/local/cuda
# 更新环境变量配置
source ~/.bashrc

Vim 编辑的使用:

1、用vi打开文件后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。切换方法:在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

2、编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按「ESC」键。

3、保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的:)

2.2 配置cuDNN环境
# 复制cudnn文件到cuda目录下
cd /usr/include && sudo cp cudnn* /usr/local/cuda/include
cd /usr/lib/aarch64-linux-gnu && sudo cp libcudnn* /usr/local/cuda/lib64#修改文件权限,修改复制完的头文件与库文件的权限,所有用户都可读,可写,可执行:
sudo chmod 777 /usr/local/cuda/include/cudnn.h 
sudo chmod 777 /usr/local/cuda/lib64/libcudnn*#重新软链接,这里的8.6.0和8对应安装的cudnn版本号和首数字
cd /usr/local/cuda/lib64sudo ln -sf libcudnn.so.8.6.0 libcudnn.so.8sudo ln -sf libcudnn_ops_train.so.8.6.0 libcudnn_ops_train.so.8
sudo ln -sf libcudnn_ops_infer.so.8.6.0 libcudnn_ops_infer.so.8sudo ln -sf libcudnn_adv_train.so.8.6.0 libcudnn_adv_train.so.8
sudo ln -sf libcudnn_adv_infer.so.8.6.0 libcudnn_adv_infer.so.8sudo ln -sf libcudnn_cnn_train.so.8.6.0 libcudnn_cnn_train.so.8
sudo ln -sf libcudnn_cnn_infer.so.8.6.0 libcudnn_cnn_infer.so.8# 更新共享库缓存
sudo ldconfig

查看cuDNN:dpkg -l libcudnn8

从以上图中,可以看出自带TensorRT。

3.配置深度学习环境

3.1 安装 Anaconda

官网下载地址,选择aarch64版本,无法访问时可以选择清华镜像源下载

da3-2023.07-2-Linux-aarch64 版本
cd /home/nx/Downloads/
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.07-2-Linux-aarch64.sh
chmod +x Anaconda3-2023.07-2-Linux-aarch64.sh
./Anaconda3-2023.07-2-Linux-aarch64.sh      # 出现一大段licence时直接按空格跳到最后,不用一直enter
3.2 conda 换源

添加环境变量:

export PATH=$PATH:~/anaconda3/bin# 此处必须替换为自己安装路径若不同,需换成自己的安装路径
source ~/.bashrc
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
3.3 创建环境
# 建议创建python3.8的环境,ubuntu20.04本身自带python3.8,各种库比较容易找,jetson官网公布的torch也是3.8版本的
conda create -n pytorch python=3.8
source activate pytorch
conda env remove --name pytorch 
conda remove -n pytorch --all
conda activate pytorch
3.4设置默认启动环境
# 非自动启动base环境
conda config --set auto_activate_base false# 指定默认启动环境
vim ~/.bashrc
conda activate pytorch	# 在.bashrc文件末尾添加
source ~/.bashrc

二、安装Pytorch和Torchvision

1.1 Pytorch安装

安装依赖:

sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev
sudo apt-get install liblapack-dev libblas-dev gfortransudo apt-get install libopenblas-base libopenmpi-dev
sudo pip3 install mpi4py
sudo pip3 install Cython

下载地址 下载python3.8 对应的pytorch2.0的whl文件 到home目录下

cd ~/Downloadspip install torch-2.0.0+nv23.05-cp38-cp38-linux_aarch64.whl
1.2 安装torchvisiion

torchvision暂未发布直接能pip安装的whl版本,因此直接从源码编译。

下载torchvisiion

确定torch2.0.0对应的torchvisiion版本,为0.15.x。torch与torchvision版本对应,因此选择v0.16.2版本的torchvisiion,从github clone到本地

git clone --branch  v0.15.1 https://github.com/pytorch/vision torchvision
export BUILD_VERSION=0.15.1  # 将BUILD_VERSION环境变量设置为值 0.15.2 ,要用vim编译
cd torchvision
python3 setup.py install --user# 编译时间比较长

报错:import torchvision时报错TypeError: ‘ABCMeta’ object is not subscriptable。

pip install ‘pillow<7’

pip install urllib3==1.26.16

1.3 验证

查看pytorch运行时真正调用的cuda、cudnn、tensorrt版本:

import torch
import torchvision
import tensorrt as trttorch.cuda.is_available()		# 检查cuda是否可用
torch.version.cuda				# 查看Pytorch运行时使用的cuda版本
torch.backends.cudnn.enabled	# 查看cudnn是否可用
torch.backends.cudnn.version()  # 查看cudnn版本
print(torchvision.__version__) 
print(torch.__version__)#注意查看两者是否版本兼容
print(trt.__version__)
# '/usr/local/cuda'pip3 show tensorrt		# 查看tensorrt版本
1.4 安装Vscode

下载vscode1.85.2

https://update.code.visualstudio.com/1.85.2/linux-deb-arm64/stable

在文件所在位置打开终端:

sudo dpkg -i code_1.85.2-1705560689_arm64.deb

相关文章:

  • YOLO+ONNX+PyQt打包为exe踩坑记录
  • ASP.NET Core Web API 实现 JWT 身份验证
  • (LeetCode 面试经典 150 题 ) 55. 跳跃游戏 (贪心)
  • 人工智能中的集成学习:从原理到实战
  • 用 PyTorch 构建液态神经网络(LNN):下一代动态深度学习模型
  • 从Yocto中获取源码用传统的方式单独编译
  • 网络分层模型与协议体系技术研究报告
  • 【力扣 中等 C】467. 环绕字符串中唯一的子字符串
  • OBCP第三章 OceanBase SQL 引擎高级技术学习笔记
  • 【C++11】右值引用和移动语义
  • 云效代码仓库导入自建gitlab中
  • 多相机人脸扫描设备如何助力高效打造数字教育孪生体?
  • UE Universal Camera 相机插件-限制镜头在区域内移动
  • 【Unity智能模型系列】MediaPipeUnityPlugin 实现人脸数据获取
  • [按键手机安卓/IOS脚本插件开发] 按键插件调试与判断循环结构辅助工具
  • 【CMake基础入门教程】第七课:查找并使用第三方库(以 find_package() 为核心)
  • 数字孪生技术驱动UI前端变革:从静态展示到动态交互的飞跃
  • 面试150 判断子序列
  • Jenkins执行Jenkinsfile报错
  • 频宽是什么: 0.35/Tr、0.5/Tr?