graphsage:example_unsupervised.sh在docker中執行
阿新 • • 發佈:2021-01-31
技術標籤:graphsagedockerlinuxubuntu
GraphSAGE專案github程式碼跑通
- 下載專案https://github.com/xslwyz/GraphSAGE
- 安裝docker
- 將GraphSAGE專案拷貝到linux中
並且將專案根目錄.sh檔案中的內容做如下修改
#example_supervised.sh
python -m graphsage.supervised_train --train_prefix ./example_data/toy-ppi --model graphsage_mean --sigmoid
#example_unsupervised.sh
python -m graphsage.unsupervised_train --train_prefix ./example_data/toy-ppi --model graphsage_mean --max_total_steps 1000 --validate_iter 10
新建檔案:docker_cp.sh用於將容器內的結果檔案從容器內拷貝到外部linux
#~/使用者根路徑,./當前路徑
#docker cp 本地路徑 容器Id或name:容器目錄
#docker cp 容器Id:本地路徑 映象路徑
#<containerId>需要按需修改
docker cp <containerId>:/ notebooks/unsup-example_data/ ./unsup-example_data/
docker cp <containerId>:/notebooks/sup-example_data/ ./sup-example_data/
- 建立docker映象
#在專案根目錄執行
#shell指令碼將執行專案中Dockerfile中的內容
docker build -t graphsage .
如果速度過慢需要改變docker映象源
#使用管理員帳號
sudo vi /etc/docker/daemon.json
#在其中新增:
#只讀檔案使用wq!強制儲存
{
"registry-mirrors" : ["http://hub-mirror.c.163.com"]
}
#儲存完畢後重啟服務
sudo systemctl restart docker.service
- 進入docker映象
docker run -it graphsage bash
注:進入docker映象後,在容器中的任何操作退出後都不會自動儲存,如果需要儲存操作,需要進行以下操作:
exit#退出容器
docker commit \<containerId\> \<newname\>
docker常用命令:
1.退出終端
exit
2.檢視所有容器
docker ps -a
3.啟動已經停止的容器
docker start 16f91abb561d
4.docker容器後臺執行,使用-d指定容器的執行模式
docker run -itd --name ubuntu-test ubuntu /bin/bash
5.停止容器
docker stop cbeab6605102
6.重啟容器
docker restart cbeab6605102
7.後臺啟動時進入容器時,使用attach命令
docker attach f4c1ed1987e4
8.使用exec進入後臺執行的容器,從容器中退出,不會導致容器的停止
docker exec -it d9d6240dffe1 /bin/bash
- 安裝requirement.txt
#安裝sudo,vim
apt update
apt install sudo
apt install vim
#安裝requirements.txt
pip install -r requirements.txt
- 執行example_unsupervised.sh
sh example_unsupervised.sh
- 將結果傳出到外層linux
#記下docker containerId,
#[email protected]:/notebooks#
#其中b50b2e12a3f7即為Id
exit#退出當前container,不會終止當前container,可以再進入
vi docker_cp.sh
#將其中的containerId替換為當前Id,並:wq儲存
sh docker_cp.sh
- 將當前的container容器儲存並存為新的image映象
exit#退出容器
docker commit b50b2e12a3f7 graphsage-one