疫情在家宅家的我,逼不得已開始使用學校的服務器跑程序了。畢竟作爲新時代的大學生,要積極響應學校停課不停學的號召。總體來說就是,假可以放,但是畢業不延期。使用學校服務器的步驟還是很繁瑣的,記性差的就需要一個手冊了。這個版本是腦殘版,就是有腦子你就會的那個版本,適合我。省的天天百度自己到底下一步要敲什麼,另外,linux命令那麼長也不是誰都能記住的。
一、建立連接
首先,你需要有xftp和xshell5兩個軟件。這個軟件可以省掉好多上傳文件,連接服務器的命令。下載包自行百度吧,我上次百度了一個破解版還挺好用的,鏈接找不到了。
然後在xftp上新建一個會話屬性。
需要填寫你的主機,協議一般都是SFTP,端口號22。這個就按照服務器的接口要求填,不同的服務器要求不同。創建完成後,你就可以把你本地的文件傳到服務器上屬於你的那個文件了。就是從左邊的窗口往右邊窗口裏粗暴的拖拽。
上傳完畢後,點擊菜單欄裏的xshell5圖標,就可以打開命令行窗口了。
然後就是一大串命令行輸入了。
首先,需要查看內存裏存在的鏡像。選擇自己程序需要的環境:sudo docker images
窗口會顯示一些鏡像環境,這些都是服務器內設的環境。需要管理員去維護。
然後我們選擇我們需要的環境將文件夾映射到指定的容器中。nvidia-docker run --name 給你的容器起個名字 -it -v /自己文件的地址:/需要映射到的地址(一般爲workspace) 鏡像地址
這裏我們使用python3和TensorFlow18.07版本進行映射
這樣我們的映射容器就已經建立成功了。然後輸入‘ls’看一眼文件裏的內容。
二、運行程序
這個時候就可以準備使用服務器來運行自己的程序了,先看一眼哪個服務器是空閒的。因爲是公用的服務器,不能搶佔他人的資源呀: nvidia-smi
Volatile GPU-Util爲0的服務器,就說明沒有人在用,你就可以指定服務器了。
運行程序的命令:CUDA_VISIBLE_DEVICES=指定服務器的編號 python 運行程序名.py
注:圖片裏多寫了一個E,這個命令語句寫錯了,系統不會提示有錯,會直接忽略這個語句。然後他就會使用所有空閒的GPU運行你的程序
三、再次運行
運行完程序以後,想重新運行一次。就可以省略以上好多步驟,因爲你的映射已經存在了。直接查找你的映射id,然後連接就可以了。sudo nvidia-docker ps -a
根據NAME找到自己的ID複製。然後重啓自己的鏡像。sudo nvidia-docker start 你的id
第二步連接鏡像:sudo nvidia-docker attach 你的id
這樣就直接可以運行自己的程序了。
四、刪除鏡像
在程序全部運行完成以後,就可以刪除自己的程序啦。這個東西你要不用的話就會佔內存。優秀的人兒總會把不用的東西刪除掉的。總共分爲兩步。
第一步:停止鏡像:sudo nvidia-docker stop 你的id
第二步:刪除鏡像:sudo nvidia-docker rm 你的id
ok,完美!