graphsage:example_unsupervised.sh在docker中运行

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:本地路径 镜像路径
#需要按需修改
docker cp :/notebooks/unsup-example_data/ ./unsup-example_data/
docker cp :/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,
#root@b50b2e12a3f7:/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

你可能感兴趣的:(graphsage,docker,linux,ubuntu)