1. 程式人生 > 其它 >graphsage:example_unsupervised.sh在docker中執行

graphsage:example_unsupervised.sh在docker中執行

技術標籤:graphsagedockerlinuxubuntu

GraphSAGE專案github程式碼跑通

  1. 下載專案https://github.com/xslwyz/GraphSAGE
  2. 安裝docker
  3. 將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/
  1. 建立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
  1. 進入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
  1. 安裝requirement.txt
#安裝sudo,vim
apt update
apt install sudo
apt install vim
#安裝requirements.txt
pip install -r requirements.txt
  1. 執行example_unsupervised.sh
sh example_unsupervised.sh
  1. 將結果傳出到外層linux
#記下docker containerId,
#[email protected]:/notebooks#
#其中b50b2e12a3f7即為Id
exit#退出當前container,不會終止當前container,可以再進入
vi docker_cp.sh
#將其中的containerId替換為當前Id,並:wq儲存
sh docker_cp.sh

  1. 將當前的container容器儲存並存為新的image映象
 exit#退出容器
 docker commit b50b2e12a3f7 graphsage-one