機器學習 深度學習中常用的Linux命令

2021-09-01 08:22:34 字數 2332 閱讀 2409

作為一名coder,linux命令是基本生存技能,但linux的命令何其多,要想完全掌握可不易。。。在我平常的學習和工作中,linux伺服器主要是用來跑ml、dl**的(linux運維大神請略過…),因此本文將主要從跑**的角度**一下常用的linux操作。

// 告別手指抽筋的方向鍵

ctrl + e // 游標回到行末

ctrl + k // 刪除游標處到行尾的字元

ctrl + u // 刪除命令列的整段命令

ctrl + y // 恢復上一次刪除內容

// vim快捷鍵(命令列模式下使用)

gg: 將游標移動到文件開頭

g: 將游標移動到文件末尾

$: 將游標移動到本行尾

0: 將游標移動到本行行首

ndd: 刪除n行(如10

+dd)

pwd //顯示當前路徑

ls //顯示當前目錄的內容

ll //詳細顯示內容

du -sh *

//顯示當前資料夾下所有內容的大小

tar -xzvf //解壓命令

cp source destination //將目標賦值到目的地

mv source desination //將目標移動到目的地

mv file1 file2 //將file1重名為file2

rm //刪除檔案,慎用rm -f

rm -r //刪除資料夾

find .

-name "*.py"

| wc -l //檢視當前資料夾(包含子資料夾)下共有多少個py檔案

grep -o root a.txt | wc -l // 統計檔案a.txt中root這個詞出現的次數

chmod +x run.sh //更改shell指令碼的許可權

./run.sh //執行shell指令碼,也可用 sh run.sh

cat test.txt //檢視test.txt檔案

wc -l test.txt //顯示test.txt檔案有多少行

由於實驗室的網路有時候不穩定,會導致跑了好幾個小時的**在快要出結果的時候斷網了,導致與伺服器的連線中斷,從而**也就停止執行了,這點著實讓人很苦惱。同時,如果在跑**的時候還想進行其它linux操作,也可以考慮把**放到伺服器後台執行。這裡主要有兩種方法實現**的後台執行。

第一種

nohup python model.py >log.txt 2

>&1

&//將**後台掛起執行,並將結果輸出到log.txt中,2

>

&1表示若有錯誤也將一同輸出到log.txt中

第二種如果我想實時的觀察到**的執行狀態,並不想最終執行完以後才能在日誌檔案中看。這時可以用screen這個命令。

可以簡單的認為用這個命令你可以為不同的任務開不同的視窗,這個視窗之間是可以切換的,同時,視窗和你的會話連線基本上沒有任何區別,這樣你可以在開乙個連線的時候同時幹多件事情,並且在終端看得到執行過程的同時而不會由於斷網而導致**停止執行。常用命令如下:

screen -s train_cnn //建立乙個新視窗並命名為train_cnn
當你執行完上述命令後,就會自動跳入名為train_cnn的視窗中,在這個視窗裡你可以開始跑**。

然後通過快捷鍵ctrl + a + d斷開這個視窗的連線而回到會話介面,注意這裡只是斷開了視窗並未終止任務的執行。

可以通過上述命令開啟多個視窗。可通過以下命令檢視所有的視窗,並連線到其中乙個視窗

screen -ls //顯示所有視窗

screen -r train_cnn //返回到train_cnn視窗下

如果要斷開某個視窗,可直接使用快捷鍵 ctrl + d 退出即可。

總結一下,screen可以實現**在後台執行時的視覺化,同時,能在開乙個會話連線時建立多個視窗處理不同的任務。用起來也很方便。

在伺服器上jupyter notebook也是經常需要使用到的。伺服器下配置jupyter(已安裝anaconda)可以參考這篇文章。

深度學習中常用的代價函式

1.二次代價函式 quadratic cost 其中,c表示代價函式,x表示樣本,y表示實際值,a表示輸出值,n表示樣本的總數。為簡單起見,使用乙個樣 本為例進行說明,此時二次代價函式為 假如我們使用梯度下降法 gradient descent 來調整權值引數的大小,權值w和偏置b的梯度推導如下 其...

深度學習中常用的啟用函式

我們知道深度學習的理論基礎是神經網路,在單層神經網路中 感知機 輸入和輸出計算關係如下圖所示 可見,輸入與輸出是乙個線性關係,對於增加了多個神經元之後,計算公式也是類似,如下圖 這樣的模型就只能處理一些簡單的線性資料,而對於非線性資料則很難有效地處理 也可通過組合多個不同線性表示,但這樣更加複雜和不...

機器學習中常用距離的小結

設有兩個n維向量a x11,x12,x1n 和b x21,x22,x2n 1 曼哈頓距離 曼哈頓距離也稱為城市街區距離,數學表示式為 2 歐氏距離 歐氏距離就是我們熟悉的l2範數,數學表示式為 3 閔可夫斯基距離 閔可夫斯基距離可以看作歐氏距離的一種推廣,數學表示式為 可以看到,當p值取1時,閔可夫...