自学内容网 自学内容网

三、NVIDIA Jetson Orin开发板-GPU加速

一、NVIDIA Jetson Orin开发板的硬件情况

df -h#查看操作系统情况
Filesystem      Size  Used Avail Use% Mounted on
**/dev/nvme0n1p1**  234G   17G  208G   8% /
none            7.4G     0  7.4G   0% /dev
tmpfs           7.6G     0  7.6G   0% /dev/shm
tmpfs           1.6G   19M  1.5G   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           7.6G     0  7.6G   0% /sys/fs/cgroup
tmpfs           1.6G   28K  1.6G   1% /run/user/1000

Ubuntu操作系统安装在一个NVMe固态硬盘(/dev/nvme0n1p1)上

free -h#查看CPU内存情况
              total        used        free      shared  buff/cache   available
Mem:           15G         2G        11G        1.5G        2G         11G
Swap:          2G         0M         2G

CPU的内存情况

sudo pip3 install -U jetson-stats#安装
sudo systemctl restart jtop.service#启动
sudo jtop#q退出

显示GPU运行情况。

二、在NVIDIA Jetson Orin开发板上的PyCharm中运行代码并利用GPU进行加速

  1. cuda库和驱动程序 :
    jetpack(NVIDIA JetPack 是专为 NVIDIA Jetson 系列开发板(如 Jetson Nano、Jetson TX2、Jetson Xavier NX 和 Jetson AGX Orin 等)设计的综合性软件开发包。JetPack 提供了一整套工具和库,用于加速 AI 和边缘计算应用的开发。)
  2. 支持GPU加速的库:pytorch

1.1 安装命令

sudo apt update
sudo apt install nvidia-jetpack

1.2 查看cuda是否安装成功

ls /usr/local/cuda#显示cuda目录

1.3 配置环境变量

echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

1.4 检验cuda版本,显示版本信息即安装成功

nvcc --version

2、pytorch安装
2.1、下载预编译轮子文件

https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048
确认适合Python3.8和cuda11.4的文件
wget https://developer.download.nvidia.cn/compute/redist/jp/v44/pytorch/torch-1.10.0-cp38-cp38-linux_aarch64.whl
wget https://developer.download.nvidia.cn/compute/redist/jp/v44/pytorch/torchvision-0.11.1-cp38-cp38-linux_aarch64.whl

2.2、安装轮子文件

pip install numpy  # 安装 numpy
pip install torch-1.10.0-cp38-cp38-linux_aarch64.whl
#pip install torchvision-0.11.1-cp38-cp38-linux_aarch64.whl

2.3、安装依赖库OpenBLAS(它是一个高性能的线性代数库,pytorch依赖他进行数值计算)

sudo apt-get install libopenblas-dev

2.4、测试安装情况

import torch
print("CUDA available:", torch.cuda.is_available())
if torch.cuda.is_available():
    print("CUDA device name:", torch.cuda.get_device_name(0))

三、设置pycharm项目界面开机自启动

1、确定项目结构和入口脚本
/home/makerobo/PycharmProjects/SVDD-Python-master/

├── pyqt_test/
│   ├── boundary.png
│   ├── distance.png
│   └── main.py
├── SECURITY.md
├── src/
│   ├── BaseSVDD.py
│   └── __pycache__/

2、创建启动脚本‘run.sh’
在项目目录 /home/makerobo/PycharmProjects/SVDD-Python-master/ 中创建一个名为 run.sh 的启动脚本:

#!/bin/bash
export DISPLAY=:0  # 确保图形界面可用
cd /home/makerobo/PycharmProjects/SVDD-Python-master/  # 进入项目目录

# 激活虚拟环境,我的虚拟环境为pytorch_svdd
source /home/makerobo/anaconda3/bin/activate pytorch_svdd

# 运行Python脚本
python pyqt_test/main.py

确保‘run.sh’脚本有可执行权限:

chmod +x /home/makerobo/PycharmProjects/SVDD-Python-master/run.sh

3、创建‘systemd’服务单元文件
在‘/etc/systemd/system/’下创建‘SVDD-Python-master.service’服务文件

sudo vi /etc/systemd/system/SVDD-Python-master.service
[Unit]
Description=My PyCharm Python Project
After=network.target

[Service]
ExecStart=/home/makerobo/PycharmProjects/SVDD-Python-master/run.sh
WorkingDirectory=/home/makerobo/PycharmProjects/SVDD-Python-master
Environment="DISPLAY=:0"#指定显示环境变量,用于 GUI 应用程序,确保它们知道在哪里绘制窗口
Environment="XAUTHORITY=/home/makerobo/.Xauthority"#用于身份验证,允许程序在显示器上绘制窗口
Environment="CONDA_EXE=/home/makerobo/anaconda3/bin/conda"#指定 conda 可执行文件的位置
Environment="CONDA_PREFIX=/home/makerobo/anaconda3/envs/pytorch_svdd"#指定激活的 conda 环境路径
Environment="CONDA_PYTHON_EXE=/home/makerobo/anaconda3/bin/python"#指定 Python 可执行文件的位置
Environment="CONDA_DEFAULT_ENV=pytorch_svdd"#指定默认的 conda 环境
Environment="PATH=/home/makerobo/anaconda3/envs/pytorch_svdd/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"#更新 PATH 变量,使其包含 conda 环境中的可执行文件路径
StandardOutput=inherit
StandardError=inherit
Restart=always
User=makerobo

[Install]
WantedBy=multi-user.target

4、设置文件权限和所有权
确保项目目录及其文件的所有权和权限正确

sudo chown -R makerobo:makerobo /home/makerobo/PycharmProjects/SVDD-Python-master/
sudo chmod -R +x /home/makerobo/PycharmProjects/SVDD-Python-master/

5、启用和启动服务
重新加载‘system’配置:

sudo systemctl daemon-reload

启用服务,使其在开机时自动运行

sudo systemctl enable SVDD-Python-master.service

启动服务

sudo systemctl start SVDD-Python-master.service

6、验证服务是否正常运行

sudo systemctl status SVDD-Python-master.service

原文地址:https://blog.csdn.net/weixin_45743760/article/details/139174680

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!