模型训练
由于按照tensor-flow 或者pytorch 等依赖众多,目前基本上就是走docker 镜像的模式,环境上可以省去很多事情;
- 执行镜像
docker run --name 2-tower-theme-news --runtime=nvidia --mount type=bind,source=/xx,target=/yyy -it tensorflow/tensorflow:1.15.5-gpu-py3 - 停止或者删除
docker stop contrainid;
docker rm contrainname/id - 查看现有images
docker ps -a 查看包括停止的所有容器 - 进入容器
docker exec -it 775c7c9ee1e1 /bin/bash - 在容器中安装一些组件pip
pip install gensim==3.8.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install scikit-learn -i https://pypi.tuna.tsinghua.edu.cn/simple/ - 搜索镜像和下载
docker search keyword
docker pull image - commit 修改的镜像
docker commit -a "author" -m " message" contrain_id new_name - 运行测试镜像,运行命令立马退出和删除
比如在运行cuda镜像的 nvidia-smi 命令,然后删除。主要是 --rm,最后跟 command。
docker run --rm --gpus all nvidia/cuda:latest nvidia-smi
使用docker-compose
可以用来对服务进行编排,哪怕是一个服务也可以用,相当于把命令都写到了文件里
执行起来也特别方便:
docker-compose up/down 就可以把之前一连串自己手动执行的命令跑起来了。
docker 使用私有仓库
使用 docker login 到私有仓库的地址
然后是用 pull 或者 在 docker-compose文件中直接拉取最新的镜像:
hub/repos/version:
docker 使用cpu的参数
类似于使用
--per_process_gpu_memory_fraction=1 做gpu内存限制