網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
在NVIDIA Jetson Xavier NX上使用tensorflow-gpu
目前所做的項(xiàng)目需要在NVIDIA Jetson Xavier NX的ubuntu18.04的系統(tǒng)下配置ROS,python3以及tensorflow-gpu的環(huán)境,但是該環(huán)境的配置是比較早之前進(jìn)行配置的,現(xiàn)在簡(jiǎn)單的記錄一下配置的過(guò)程。
1.python3環(huán)境的配置
首先在NX中,ROS的版本是melodic,在該ROS版本下,只能使用python2.7,但是自己所寫的python代碼都是python3下的,加入在電腦本身的環(huán)境中進(jìn)行配置的話,會(huì)導(dǎo)致ROS不能使用,所以需要使用虛擬環(huán)境來(lái)進(jìn)行配置。
首先嘗試了安裝anaconda,但是可能是由于nx架構(gòu)的問(wèn)題,安裝沒(méi)有成功。所以采用了單獨(dú)安裝python虛擬環(huán)境的辦法。
虛擬python環(huán)境配置
使用Python虛擬環(huán)境來(lái)保持 Python 開(kāi)發(fā)環(huán)境相互獨(dú)立。使用Python虛擬環(huán)境是一種最佳實(shí)踐, 為了管理 Python 虛擬環(huán)境,使用virtualenv 和 virtualenvwrapper,使用以下命令安裝
sudo pip install virtualenv virtualenvwrapper
打開(kāi)bashrc,加入以下內(nèi)容:
# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
然后就可以創(chuàng)建一個(gè)虛擬的python環(huán)境了
mkvirtualenv tf_gpu -p python3
啟動(dòng)該虛擬環(huán)境
workon tf_gpu
接下來(lái)就可以安裝tensorflow-gpu的版本了,但是值得注意的是,這里需要按照nx固件(jetpack)的版本進(jìn)行選擇
對(duì)于Python 3.6+JetPack4.5,以及tensorflow2.x版本,可以按照如下的方式進(jìn)行安裝,其余版本請(qǐng)查詢tensorflow-gpu安裝查詢地址
!!!(tf_gpu 虛擬環(huán)境下)!!!
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
sudo apt-get install python3-pip
sudo pip3 install -U pip testresources setuptools==49.6.0
sudo pip3 install -U numpy==1.16.1 future==0.18.2 mock==3.0.5 h5py==2.10.0 keras_preprocessing==1.1.1 keras_applications==1.0.8 gast==0.2.2 futures protobuf pybind11
# TF-2.x
$ sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v45 tensorflow
這樣安裝完成之后,對(duì)ROS的運(yùn)行沒(méi)有影響。
2.cuda環(huán)境的配置
cuda環(huán)境在NX環(huán)境里面都是已經(jīng)安裝好的,可能文件夾的名稱有所差異,若需要?jiǎng)e的cuda版本,請(qǐng)自行安裝,并更改bashrc內(nèi)的環(huán)境參數(shù)即可。
export CUDA_HOME=/usr/local/cuda-10.2
export PATH=/usr/local/cuda-10.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
source /opt/ros/melodic/setup.bash
3.tensorflow-gpu運(yùn)行錯(cuò)誤
可能tensorflow-gpu在運(yùn)行的過(guò)程中會(huì)出現(xiàn)錯(cuò)誤(Illegal instruction(core dumped)),這是由于NX是arm架構(gòu)導(dǎo)致的,需要在bashrc內(nèi)加入以下語(yǔ)句:
export OPENBLAS_CORETYPE=ARMV8
4.參考鏈接
在NANO上配置Python、Tensorflow和Keras
在Jetson nano(ubuntu)配置tensorflow時(shí)遇到的坑點(diǎn)
原文鏈接:https://blog.csdn.net/qq_42412225/article/details/127248316
相關(guān)推薦
- 2022-09-09 Qt?QFtp客戶端實(shí)現(xiàn)上傳下載文件_C 語(yǔ)言
- 2024-01-06 TCP的三次握手和四次揮手
- 2022-07-10 TypeError: Cannot read property ‘forceUpdate‘ of u
- 2022-06-27 在Python中如何讓字典保持有序_python
- 2022-05-02 R語(yǔ)言學(xué)習(xí)之線圖的繪制詳解_R語(yǔ)言
- 2022-12-21 Android?全局通知彈窗示例分析詳解_Android
- 2022-05-08 ASP.NET?MVC異常過(guò)濾器用法_實(shí)用技巧
- 2022-11-12 C語(yǔ)言用遞歸函數(shù)對(duì)素?cái)?shù)進(jìn)行判斷流程_C 語(yǔ)言
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支