使用Dokcer配置Tensorflow-1.15环境并使用VSCode开发

8 篇文章 1 订阅
4 篇文章 0 订阅

使用Dokcer配置Tensorflow-1.15环境

目前学术界大部分深度学习的开源代码都是基于Pytorch的,但还有少部分工作或者以前的工作是基于Tensorflow 1.x的,由于tensorflow的版本和CUDA的版本有严格的对应关系,它需要依赖很多相应版本的CUDA的C++动态库,而CUDA又和显卡型号存在对应关系,那此时在本机上直接部署tensorflow可能会破坏现有环境。所以我们可以选择使用Docker容器生成各种环境来执行代码。更棒的是VS Code的Remote-Container插件可以支持我们使用本地的Docker容器环境进行开发。

准备工作

  • 首先需要在本机上安装NVIDIA的显卡驱动,剩下的CUDA库在Docker镜像中都配置好了
    在这里插入图片描述

1. 拉取镜像

Tensorflow安装官网: https://www.tensorflow.org/install/docker?hl=zh-cn
Tensorflow官方docker hub链接: https://hub.docker.com/r/tensorflow/tensorflow/

拉取相应版本的cuda和tensorflow镜像

docker pull nvidia/cuda:10.0-devel-ubuntu18.04
docker pull tensorflow/tensorflow:1.15.3-gpu-jupyter

拉取镜像后直接运行,有一个报错

docker: Error response from daemon: Unknown runtime specified nvidia.

谷歌以后参考Stackoverflow: https://stackoverflow.com/questions/52865988/nvidia-docker-unknown-runtime-specified-nvidia

安装nvidia runtime, 并把它添加到docker runtime的配置文件

sudo apt-get install nvidia-container-runtime
sudo vim /etc/docker/daemon.json

把下面内容添加到文件中

{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

2 启动容器

2.1 作为守护进程启动(启动后一直在后台运行)

# 启动容器并后台运行
docker run -itd -v /home/qyz:/home/qyz --rm --runtime=nvidia --name tensorflow tensorflow/tensorflow:1.15.3-gpu-jupyter bash

# 查看所有的容器
docker ps -a

# 进入一个容器
docker exec -it <容器ID> or <容器 name> bash
# 或
docker attach <容器ID> or <容器 name>

# 停止容器
docker stop <容器 ID> or <容器 name>

# 停止的容器可以通过restart重启
docker restart <容器 ID> or <容器 name>

2.2 交互式启动(启动后直接进入容器,退出后容器自动停止)

python交互式命令行启动

docker run -it --rm --runtime=nvidia tensorflow/tensorflow:1.15.3-gpu-jupyter python    

bash启动并指定挂载目录

docker run -it --rm --runtime=nvidia -v /home/qyz:/home/qyz tensorflow/tensorflow:1.15.3-gpu-jupyter bash

此时就可以进入docker容器,利用其中的环境来执行本地的代码了.

2.3 docker中启动jupyter

jupyter-notebook --no-browser --ip 0.0.0.0 --port=8888 --allow-root

3. VS Code连接容器

  1. 安装Remote-Containers插件

  2. F1,选择remote-containers.attachToRunningContainer命令,然后选择本地启动的容器

  3. 此时再点一下VS Code的插件,可以之前安装好的Python,Jupyter插件都是灰色的,不可用,需要根据VS Code的提示在Docker容器里再安装一下Python相关的插件,就可以正常写代码了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值