三、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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/15039.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/15039.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/15039.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LeetCode 2644.找出可整除性得分最大的整數:暴力模擬(兩層循環)

【LetMeFly】2644.找出可整除性得分最大的整數:暴力模擬(兩層循環) 力扣題目鏈接:https://leetcode.cn/problems/find-the-maximum-divisibility-score/ 給你兩個下標從 0 開始的整數數組 nums 和 divisors 。 divisors[i] 的 …

MySQL庫/表/數據的操作

文章目錄 1.數據庫操作1.1 創建、刪除、查看和修改1.2 編碼格式1.3 備份和恢復 2.表的操作2.1 創建表2.2 存儲引擎2.3 查看表、修改表、刪除表 3.數據類型3.1整數類型3.2字節類型(bit)3.3浮點類型(bit)3.4 decimal3.5 字符串類型3.6 日期和時間類型3.7 enum和set關于如何查找想…

webpack 學習之 五大核心

為什么用 webpack webpack 官網傳送門 … 官網:webpack 是一個用于現代 JavaScript 應用程序的 靜態模塊打包工具。將你項目中所需的每一個模塊組合成一個或多個 bundles,它們均為靜態資源,用于展示你的內容。總結:匯總所有模塊…

Python中別再用 ‘+‘ 拼接字符串了!

大家好,在 Python 編程中,我們常常需要對字符串進行拼接。你可能會自然地想到用 操作符將字符串連接起來,畢竟這看起來簡單明了。 在 Python 中,字符串是不可變的數據類型,這意味著一旦字符串被創建,它就…

【Python】—— lambda表達式

目錄 (一)應用場景 (二)lambda 語法 (三)示例分析 (四)lambda參數形式 4.1 無參數 4.2 一個參數 4.3 默認參數 4.4 可變參數 :*args 4.5 可變參數 :…

【Python爬蟲】案例_github模擬登錄

import requests import re from datetime import datetimedef login():sessionrequests.session()session.headers {User-Agent :XXXX #寫自己的}url1 https://github.com/loginres_1 session.get(url1).content.decode()token re.findall(name"authenticity_token&q…

基于Matlab實現BP神經網絡的手寫數字識別

歡迎大家點贊、收藏、關注、評論啦 ,由于篇幅有限,只展示了部分核心代碼。 文章目錄 一項目簡介 二、功能三、系統四. 總結 一項目簡介 一、項目背景與意義 手寫數字識別是計算機視覺和模式識別領域的一個經典問題,具有廣泛的應用場景&…

信息安全從業者書單推薦

作為一名網安人,身上肩負的責任是很大的,能力越大,責任也越大,反過來責任越大,能力也必須跟得上。不管是想進這行,還是已經在這行,持續學習肯定是不能缺少的,除了在工作中積累&#…

qt多語言翻譯不生效的原因

假設您有QT語言家的基礎知識,假設網上那些所有的問題您都已經排查過了,但依然翻譯不生效,那么可以看下這篇帖子,其實就一個問題,變量的生命周期,假設QTranslator是一個函數內的變量,且沒有被聲明…

億圖圖示——刪除水印

一、文件以PPT格式導出 二、點擊水印所在區域,點擊多次delete鍵 三、調整PPT頁面尺寸 四、轉成PDF 五、PDF轉成圖片

Spring的Profile功能及其應用場景

Spring的Profile功能是一種條件化配置機制,它允許開發者根據不同的運行環境或條件來定義和使用不同的bean和配置。Profile功能使得Spring應用程序可以靈活地適應不同的部署場景,而無需修改代碼。 Profile功能的作用: 環境隔離:可…

從0開始寫一個環境保護網站的第3天(JAVAWEB)

1.目標 實現首頁的環境保護原因的查詢,和底部友情連接部分 2.實現 2.1建立數據庫表格(這里數據全是百度查詢) 環境保護原因表: 友情連接表:(數據來源https://zhuanlan.zhihu.com/p/696243646&#xff0…

SqlSession是什么?在MyBatis-Spring中有什么應用?

目錄 一、SqlSession是什么 二、SqlSession在MyBatis中的應用 三、SqlSession在Spring中的應用 一、SqlSession是什么 SqlSession 是 MyBatis 框架中的一個核心概念,它代表與數據庫的一次會話。MyBatis 是一個流行的 Java 持久層框架,用于簡化數據庫…

c++題目_農場和奶牛

𝐵B 頭奶牛 (1≤𝐵≤25000)(1≤B≤25000),有 𝑁(2𝐵≤𝑁≤50000)N(2B≤N≤50000) 個農場,編號 11 到 𝑁N,有 𝑀(𝑁?1≤𝑀≤100000)M(…

【Linux】fork和exec中的信號繼承探索

fork和exec中的信號繼承探索 一、結論二、代碼驗證2.1 代碼編寫2.2 代碼執行 三、linux源碼驗證四、APUE中的驗證五、其他 一、結論 fork時子進程會繼承父進程的信號處理方式,包括父進程設置信號為SIG_DFL或SIG_IGN或捕獲后設置自定義處理函數。exce時子進程會繼承…

ChatGPT寫作指南:掌握5種高效格式成為寫作達人【含實用示例】

1. **簡潔指令** 當任務較簡單時,可以用一小段話來說明,便于理解和執行。如下例: 背景:我負責運營一個旅游主題的社交媒體賬號。 角色:作為一位經驗豐富的文案創作專家,我擅長打造引人注目的旅游內容…

【無標題】亞馬遜5月24日宣布推出2024出口跨境物流加速器計劃

亞馬遜中國5月24日鄭重宣布啟動“2024亞馬遜出口跨境物流加速器計劃”,旨在依托其世界領先的物流網絡和前沿技術,結合本土資源,不斷優化跨境物流服務,以強化中國賣家在跨境物流供應鏈管理方面的能力,進而提升整體效率&…

datagridview復選框選中響應

winform經常用datagridview來處理相關的數據顯示,如果datagridview有復選框,我們應該如何處理相關選中響應。選擇datagridview的cellcontentclick事件,代碼如下: bool isSelectedGridViewRow false; private void da…

深度神經網絡——什么是 K 均值聚類?

K 均值聚類 K 均值聚類是 無監督學習在所有無監督學習算法中,K 均值聚類可能是使用最廣泛的,這要歸功于它的強大功能和簡單性。 K-means 聚類到底是如何工作的? 簡而言之,K 均值聚類的工作原理是 創建參考點(質心&am…

Halcon 極坐標轉換圖像

一、概述 先看效果 將圓形的用極坐標轉換成矩性然后再進行識別或者其他缺陷檢測,最后在還圓到原圖中 二、原理: halcon 圓環類缺陷檢測的一種方法(極坐標變換法)_halcon缺口檢測-CSDN博客 圖像極坐標變換與反變換(…