使用anaconda在ubuntu16.04下安裝TensorFlow-GPU,同時保留原本的ROS環(huán)境

由于ubuntu16.04+ROS-kinetic使用的是python2,所以如果直接安裝anaconda的話會出現(xiàn)ROS包不能用的情況。所以這篇文章是解決這個問題的辦法,此外,使用conda安裝TensorFlow-GPU會自動安裝cudnn和cudatoolkit這兩個裝起來很煩人的東西,可以說非常方便了。裝錯了卸載的時候也只需要把bashrc里的內(nèi)容刪除,并刪除home下的anaconda3目錄就行了,干凈衛(wèi)生。
第一步,下載anaconda。


選擇3.7的版本

為該文件添加可執(zhí)行后,直接使用sh運行。
安裝目錄選擇默認的就行了,如有需要也可以自行更改。
然后問你是否要添加環(huán)境變量,這個會配置在bashrc里,選擇是,然后一會兒修改。
最后會問你要不要裝vscode。

完成之后,打開terminal,輸入python,會發(fā)現(xiàn)python的版本已經(jīng)由2變3了,然后ros相關(guān)的內(nèi)容都已經(jīng)不能正常使用了。
所以打開bashrc,將anaconda添加的內(nèi)容全部注釋掉.這樣一來新開一個terminal之后就又回到了沒有安裝前的狀態(tài)??梢哉J褂肦OS和Python2.等到需要用anaconda環(huán)境的時候再把注釋解除,這個辦法是ROSwiki上提供的,顯然不是非常方便,還需要改進。

bashrc在home下,使用ctrl+h就能顯示出來編輯。

在剛剛注釋掉的內(nèi)容中發(fā)現(xiàn)這句話

 if [ -f "/home/tom/anaconda3/etc/profile.d/conda.sh" ]; then
         . "/home/tom/anaconda3/etc/profile.d/conda.sh"
          CONDA_CHANGEPS1=false conda activate base

我們把它改造一下。

alias condapy3='. /home/tom/anaconda3/etc/profile.d/conda.sh && conda activate tensorflow_gpuenv'

其中tensorflow_gpuenv環(huán)境我們還沒有建立,可以先改成base,conda activate <環(huán)境名字>就是激活這個環(huán)境用的,但沒有前面那句就無法使用。
要建立這個環(huán)境,首先我把注釋解除,檢查一下是不是進入了Python3,是的話ctrl+D退出Python。

conda create -n tensorflow_gpuenv tensorflow-gpu
conda activate tensorflow_gpuenv

如果不需要gpu的話就直接把后面的-gpu去掉就行了。
如果嫌速度太慢的話就換清華的channel,目前還是能用的,但是網(wǎng)上有些文章說它掛了,現(xiàn)在應(yīng)該是復(fù)活了。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

這樣以來不但tensorflow-gpu安裝好了,就連cudnn和cudatoolkit也一并好了,用pip的話就很不方便了。
安裝好之后,bashrc里注釋掉剛剛那些內(nèi)容,把剛剛提到的alias condapy3='. /home/tom/anaconda3/etc/profile.d/conda.sh && conda activate tensorflow_gpuenv'這句話加上去。
新開一個terminal,輸入我們自己設(shè)置的condapy3,當(dāng)然這個其實你起什么名字都可以。


image.png

image.png

image.png

然后就可以正常使用了,新開一個terminal還是原來的Python2,想使用tensorflow環(huán)境的話就在終端輸入剛剛的condapy3.如果想在anaconda環(huán)境下使用ros包的話,那就新建一個Python2的環(huán)境,再用pip安裝那些ros包。同理,其他無法用conda安裝的包也都可以試著用pip,反過來pip無法安裝的包用conda說不定就能安裝。但tensorflow-gpu一定要用conda安裝。
如果安裝完成后用測試代碼發(fā)現(xiàn)報錯,比如

Error: CUDA driver version is insufficient for CUDA runtime version
問題極有可能出在顯卡驅(qū)動上,可能有不止一個顯卡驅(qū)動,這個時候建議手動重新安裝顯卡驅(qū)動。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容