Linux下機器學習配置環境的常規命令彙總以及個人心得

前言

最近在服務器上覆現了好幾個Github的深度學習代碼,花了很多時間配置環境,也爬過了許許多多的坑。下面記載下我遇到的種種問題,一是避免時間久了忘記,二是讓後來者少走一點彎路。

Anaconda的使用

我一開始是懶得用Anaconda,直接pip就完事了。但是後來發現不用環境管理器真的麻煩到爆炸。
Anaconda基本的命令都在這裏了:常用命令彙總
我個人的常用命令如下:

# 創建
conda create -n your_env_name python=your_python_version
# 激活環境
source activate env_name
# 關閉環境
source deactivate your_env_name
# 刪除環境
conda remove -n your_env_name --all
# 查看安裝的包
conda list
# 安裝/安裝指定版本
conda install package_name
conda install package_name=1.5.0
# 升級版本
conda update package_name
#刪除包
conda remove package_name

雖然上面寫了使用conda install安裝包,不過我個人的建議是在conda環境下使用pip進行安裝。conda一個新環境時,會自動配套生成對應的pip,你可以使用which pip查看這點。
conda install真的巨慢無比,而且它會自動安裝依賴包,我在安裝某個具體版本的tensorflow時,conda install竟然將我創建環境時配置的python3.5給降爲python2.7了。所以,使用pip install代替conda install是一個可以考慮的選擇,

jupyter notebook的配置

毫無疑問,.ipynb文件是非常常見的一種文件類型,配置jupyter並遠端訪問可以帶來很大的方便。

這裏是配置jupyter的兩篇博客,分別是英文官網版和中文翻譯版。
中文版
英文版

想要找到.jupyter文件夾,要用ls -a,用ls是看不到的。因爲這是一個隱藏文件夾。

在配置端口時,如果想要瀏覽器訪問,只能將端口設定爲80,因爲HTTP協議只支持port80。

c.NotebookApp.port =80 #訪問時使用該端口

將當前環境安裝爲jupyter kernel的方法在這裏:
配置jupyter以及安裝kernel

Screen的使用

最開始使用Screen是爲了讓代碼可以離線跑,但是發現不行(而且是所有方法都不行,可能是阿里學生服務器的問題?還是建議使用組裏的服務器,阿里學生服務器只能用來練手、練指令的使用)後來發現Screen非常方便,比方說可以在不用輸出重定向的情況下隨時查看/關閉輸出。
Screen常用命令彙總
我自己比較常用的就是:

screen -S yourname #新建一個叫yourname的session
screen -ls         #列出當前所有的session
screen -r yourname #回到yourname這個session

以及ctrl + A + D退出當前Screen。
其中,名字都可以用進程編號代替。
有一點值得一提,那就是Screen和Anaconda會在某種情況下產生衝突。即Anaconda建立了虛擬環境後,在該虛擬環境下,進到另一個Screen並source activate name去運行程序的時候,會出現問題。所以先在非Screen的時候需要退出虛擬環境,再進入Screen的虛擬環境,就不會出現衝突的問題了。

All you need to do is to deactivate the environment before entering
screen. Then enter the screen, Then activate the environment.

source deactivate
screen -R my_screen 
source activate myenv

本文的參考內容都寫在超鏈接裏了,在此作部分彙總以方便參閱。總的來說,所有的經驗千言萬語匯成一句話:有問題,解決問題。善用百度谷歌!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章