精华内容
下载资源
问答
  • TensorFlow + Docker + PyCharm

    千次阅读 2017-06-21 08:28:25
    我的深度学习开发环境详解:TensorFlow + Docker + PyCharm等,你的呢 By 机器之心2017年6月19日 14:09 在这篇文章中,研究员 Killian 介绍了自己的深度学习开发环境:TensorFlow + Docker + PyCharm + OSX...
    

    我的深度学习开发环境详解:TensorFlow + Docker + PyCharm等,你的呢

    By 机器之心 2017年6月19日 14:09
    在这篇文章中,研究员 Killian 介绍了自己的深度学习开发环境:TensorFlow + Docker + PyCharm + OSX Fuse + Tensorboard。但根据自己的预算、语言习惯、开发需求,每个人都会配置不同的开发环境,也遇到过各种各样的难题。因此,我们在文后附上了一份调查问卷,希望能了解众多不同开发者的深度学习环境,最终汇集成一篇文章为大家提供不同的洞见。

    在尝试用不同的东西来配置深度学习环境这个过程中,我花费了相当多的时间。因此我想着把自己目前的工作流程整理成文档,希望可以帮助到尝试着做同样事情的人。

    目标

    在开始创建我的模型之前,我脑海中会有几个清晰的目标,即理想中会使用的开发环境。下面是我会在这篇博文中详细介绍的几个高层次目标:

    • 在本地机器 (一个标准的 MacBookPro 笔记本电脑) 上用 Pycharm 编辑我的代码
    • 用一个强大的远程机器来训练我的模型
    • 和我的同事们没有任何冲突地使用这台远程机器
    • 在本地和远程机器上的 docker 容器中以开发/产品的模式来运行/调试我的 TensorFlow 代码
    • 当我的模型在远程机器上训练的时候,把模型的性能图形化地实时显示在本地机器上

    致谢

    我想感谢我的实验室同伴 Chris Saam,因为他给我指明了几个我会在本文中提到的有趣的工具。

    一次安装

    远程机器上

    因此,在做其他任何事情之前,你可能需要做这几件事情。顺便说一下,在这篇文章中我会提及在你的远程机器上 (带有所有的 GPU 的附属项目)使用 super duper,在这台远程机器上你计划训练你的深度学习机器模型。

    安装 Nvidia-docker:你需要做的第一件事情就是安装 Nvidia-docker。Docker 确实是一个很酷的工具,但是它目前并不能让你最有效地使用任何一个 NVIDIA 的 GPU 硬件或者 CUDA 驱动程序,所以你不可能拿 docker 来训练你的深度模型。Nvidia-docker 为你解决了这个问题,并且看上去更像一个普通的 docker。在常规的 Docker 命令之上,它还提供了一些选项,可以让你更有效地管理你的 NVIDIA GPU 硬件。


    图 1: NVIDIA-Docker (由 NVIDIA-Docker 提供)

    安装 Slurm:如果你计划和你的同事共享那个深度学习机器,你也许会想着安装像 SLURM 一样的工具。通过限制默认情况下可以使用的命令集,SLURM 让您对团队同事在机器上的权限拥有更好的控制,并且强制每个成员使用特定的专用 GPU/CPU 资源在「作业」环境中运行他们的代码。如果您希望避免任何因团队同事同时访问这台机器而产生的资源争夺,这确实是有用的。

    把文件夹设置标准化:如果您计划和同事共享机器,就可以让成员之间的文件夹结构标准化,这也是一个好主意。我的深度学习机器的设置方式如下:

    • /home/myusername 文件夹包含你自己的私有项目代码。
    • /data 文件夹包含团队在项目过程中共享的数据集。
    • /work 文件夹包含当前实验需要的特定数据集。这个文件夹比 /data 文件夹更低一级,但是它在训练过程中提供了更快的内存访问。

    本地机器上

    安装 OS X Fuse: 如果你像我一样正在使用最新版本的 OS X, 你可能会想着安装 OS X Fuse。OS X Fuse 可以让你用 SFTP/SSH 在本地 Finder 中从远程机器上挂载文件夹。或者如果你不想花费时间去挂载你的远程/home 文件夹,你可以简单地使用 GIT PUSH/PULL 在本地机器和远程机器之间传送代码,但是这样效率不高。所以在长时间运行的过程中挂载这些文件夹会替你节省大量时间。

    设置一个远程的 python 解释器:在本地机器和远程机器上使用同一个 docker 映像是避免以后可能会发生的环境配置问题的另一个方法。Pycharm 有这个很酷的功能,可以让你在 docker 容器中运行代码。在 Pycharm 中进行任何设置之前,请保证你已经获取了正确 TensorFlow 的 docker 映像。在本地机器上,你可能仅仅需要以下步骤就可以获取 TensorFlow 的 docker 映像:

    # 启动你的 docker 虚拟机 docker-machine start default # 获取最新 TensorFlow CPU 版本的 docker 映像docker pull gcr.io/tensorflow/tensorflow:latest 

    当你获取期望的 docker 映像之后,就去设置你的 Pycharm Project Interpreter。在 Pycharm 中,转到 Preferences>Project Interpreter>Add Remote(如下图)。当 docker 虚拟机的实例在你的本地机器上开始运行时,就需要选择 docker 配置(Docker configuration)。一旦它连接到你的 docker 虚拟机,你应该会看到你刚才获取的 TensorFlow 映像已经在可用映像的列表中了。当这个设置好之后,只要 pycharm 连接好了,你就可以开始了。

    每日常规程序

    本地机器上

    挂载远程文件夹:你想做的第一件事情就是确保你可以访问你要在本地机器上运行的脚本。所以你要做的第一件事情就是在你的 Mac 上用 OS X Fuse 挂载 home/myusername 文件夹,并且选择性地挂载深度学习数据。你可能希望为所有这些命令起一些别名,因为它们确实有些长。

    # 挂载你的远程 home 文件夹sshfs -o uid=$(id -u) -o gid=$(id -g) myusername@mydeeplearningmachine.com:/home/myusername/ /LocalDevFolder/MountedRemoteHomeFolder # 挂载你的远程数据文件夹 (有选择地)sshfs -o uid=$(id -u) -o gid=$(id -g) myusername@mydeeplearningmachine.com:/data/myusername/ /LocalDevFolder/MountedRemoteDataFolder 

    这里使用 uid 和 gid 来映射本地和远程机器的用户和组 ID,因为这些可能会有所不同。

    在本地机器上启动 docker:接下来,我们想保证 pycharm 会访问正确的库来在本地编译我们的代码。为了做到这个,仅仅需要在本地启动一个 docker 虚拟机。如果你在设置中没有改变任何地方,TensorFlow 的 CPU 映像应该已经在你的本地 docker 环境中了。

    docker-machine start default

    打开 pycharm,并选择你刚才挂载的 home 文件夹中的项目。转到 Project Interpreter 参数选择中,在项目解释器的可用列表中选择你之前就创建好的远程 TensorFlow 解释器,pycharm 应该能够正确地编译你的代码。这时候,你可以随时随地使用你的代码,并且改变任何你想要改变的东西。

    远程机器上

    Ok,你已经在 pycharm 中用一项新功能更新了你的代码,然后你希望训练/测试你的模型。

    用 SSH 远程登录你的机器:你需要做的第一件事就是简单地远程登录你的深度学习机器。

    ssh myusername@mydeeplearningmachine.com 

    运行一个 SLURM 任务: 在你进行下一步之前,请确保你的团队中没有其他成员正在运行任务。这会阻止你的任务得到它所需要的资源,所以检查一下目前有哪些任务正运行在远程机器上总会是一个不错的做法。使用 SLURM 做到这件事,只需要运行一下 squeue 命令即可,它会列出目前正运行在机器上的任务。如果由于某些原因你之前的某个任务仍然在运行,你可以使用 scancel 命令来取消它。在确定没有其他任务在运行之后,让我们开始一个新任务吧。你可以通过以下的命令来开始一个新的任务。

    srun --pty --share --ntasks=1 --cpus-per-task=9 --mem=300G --gres=gpu:15 bash

    srun 命令给出了相当多的选项来让你指定一个特定的任务需要哪些资源。在这个例子中,cpus-per-task、 mem 以及 gres 选项让你指定这个任务分别需要的 CPU 的数量、总体内存以及 GPU 的数量。pty 选项只是提供一个漂亮的命令行界面。

    启动 Nvidia docker:既然你已经得到了为你的任务所分配的资源,那么,启动一个 docker 容器来在正确的环境中运行你的代码吧。与使用常规的 docker 有所不同,这里我们会使用 NVIDIA-Docker 来充分地利用我们的 GPU。另外,为了充分利用你的硬件,请保证你运行的是 TensorFlow 的 GPU docker 映像而不是 docker CPU 映像。别忘了使用 - v 选项来在 docker 容器中挂载你的项目文件夹。当你在那个容器中以后,你就可以简单地使用常规的 python 命令来运行你的代码了。

    # 启动你的容器nvidia-docker run -v /home/myusername/MyDeepLearningProject:/src -it -p 8888:8888 gcr.io/tensorflow/tensorflow:latest-gpu /bin/bash # 别忘记切换到你的源码文件夹cd src# 运行你的模型python myDLmodel.py

    本地机器上

    启动 Tensorboard 可视化:你还差一点点就做完了。你的代码现在正在顺利地运行,然后你想着使用 tensorboard 去实时地看一下你的模型中的变量是如何变化的。实际上这是最简单的一部分。首先,确保你知道自己本地 docker 机对应的 IP 地址。你可以使用下面的命令来做这件事:

    docker-machine ls

    然后,切换到已经挂载的远程 home 文件夹,并启动一个 TensorFlow docker 容器。因为你已经在本地机器上启动了一个 Tensorflow docker 容器,所以要确保你正在启动的是 CPU 版本的 docker 容器。如上面所述,不要忘记在 docker 容器中挂载你的项目文件夹。为了在本地机器可视化正在训练的模型,你还需要用 - p 选项将 Tensorboard 使用的端口号从容器映射到你的本地机器。

    docker run -v /LocalDevFolder/MountedRemoteHomeFolder/MyDeepLearningProject:/src -p 6006:6006 -it gcr.io/tensorflow/tensorflow:latest /bin/bash

    一旦你进入 docker 容器,通过制定你的模型保存变量的路径 (更可能是 checkpoint 文件夹的路径) 来启动 Tensorboard:

    tensorboard—logdir=Checkpoints/LatestCheckpointFolder

    如果一切进展顺利,你现在需要做的就是使用你最喜欢的浏览器转到到 http://DOCKER_MACHINE_IP:6006,

    这会显示在 Tensorboard 中显示你在模型中正在跟踪的所有变量。


    图 2.Tensorboard 可视化 (由 Jimgoo 提供)

    深度学习开发环境问卷调查

    展开全文
  • 使用Docker构建PyCharm开发环境前言一、准备工作二、Ubuntu桌面Docker镜像下载和配置1. 运行ubuntu镜像2. PyCharm安装和Ubuntu配置总结 前言 最近想用python开发一个防火墙安全策略管理的软件,如果直接安装pycharm...


    前言

    最近想用python开发一个防火墙安全策略管理的软件,如果直接安装pycharm的开发环境,导致自己笔记本安装的东西越来越多,造成混乱,因此花了几天的时间构建了一个PyCharm的开发环境Docker镜像!


    一、准备工作

    (1)我使用的操作系统为Win10,已经安装了Docker for Windows。现在Docker安装已经很容易了,网上资源也比较多!可以参考:安装 docker for windows 博客。记得更新docker的镜像源为下面中的一个,也可以到网上再找到更好的源:

    https://9cpn8tt6.mirror.aliyuncs.com
    https://docker.mirrors.ustc.edu.cn
    

    (2)桌面Ubuntu Docker使用还需要安装VNC Viewer软件来显示界面,RealVNC很简单,建议使用!

    二、Ubuntu桌面Docker镜像下载和配置

    1. 运行ubuntu镜像

    (1) 通过docker search ubuntu,发现ubuntu桌面dorowu/ubuntu-desktop-lxde-vnc镜像的评价不错,用下面命令获取该docker镜像!

    • docker pull dorowu/ubuntu-desktop-lxde-vnc

    (2)新建一个供后续开发的目录,例如xfce_py,在该目录下增加docker-compose.yml如下:

    version: '3'
    services: 
      xfce:
        image: dorowu/ubuntu-desktop-lxde-vnc:latest  
        container_name: xfce
        ports:
          - "30000:5900"
          - "8080:80"
    

    (3)cmd进入xfce_py目录,docker-compose up命令运行该镜像,运行RealVNC,新建VNC连接,VNC Server设置为:127.0.0.1:30000,无需输入密码,就可以显示ubuntu镜像的运行界面了。
    (4)Ubuntu中用如下命令安装gedit和中文输入法googlepinyin

    sudo apt-get update -y
    sudo apt-get install gedit -y
    sudo apt-get install fcitx-googlepinyin -y
    

    修改./pycharm.sh,增加下面配置

    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    export XMODIFIERS=@im=fcitx
    

    在ubuntu桌面system tools菜单中首先运行fcitx,preferences菜单中再运行fcitxconfigure,在input method Tab页面增加googlepinyin输入法。通过shift健切换,就可以用googlepinyin输入中文了。
    (5)使用下面命令提交对镜像的更改,这样下次启动ubuntu时就有gedit和googlepinyin了。记得修改docker-compose.yml文件中镜像名称为jiang/ubuntu-pycharm:latest。

    docker commit xfce jiang/ubuntu-pycharm:latest
    

    2. PyCharm安装和Ubuntu配置

    由于pycharm IDE、项目和umbuntu捉摸总是要改变,不能保存在容器中,因此需要通过存储映射的方式将它们保存在host的文件下面。
    (1)在xfce_py目录下新建root/Desktop、opt/pycharm/pycharm-community-2020.3、/ACL_RuleMan三个文件夹。分别对应桌面、pycharm IDE和项目的文件夹!
    (2)在docker-compose.yml文件中增加磁盘映射

        volumes:
          - ./ACL_RuleMan:/home/ACL_RuleMan
          - ./opt/pycharm/pycharm-community-2020.3:/opt/pycharm/pycharm-community-2020.3
          - ./root/Desktop:/root/Desktop
    

    (3)下载pycharm压缩包并解压缩
    启动ubuntu容器,进入/opt/pycharm目录,运行下面命令进行下载和解压。

    wget -c https://download.jetbrains.com/python/pycharm-community-2020.3.tar.gz
    tar -xzf pycharm-community-2020.3.tar.gz
    

    进入/opt/pycharm/pycharm-community-2020.3/bin目录,运行./pycharm.sh脚本,pycharm就运行了。启动时,可以设置pycharm的project目录为/home/ACL_RuleMan。
    (4)增加pycharm桌面快捷方式
    编写pycharm.desktop,保存在/root/Desktop文件夹中,ubuntu桌面就显示了pycharm的快捷方式,图标暂借用了fcitx的图标!

    [Desktop Entry]
    Name=PyCharm
    Exec=/opt/pycharm/pycharm-community-2020.3/bin/pycharm.sh
    Icon=fcitx
    Terminal=true
    Type=Application
    Categories=Development;Application;
    

    (5)ubuntu显示分辨率配置
    ubuntu-desktop-lxde-vnc镜像默认显示分辨率似乎是1280x768,可以在docker-compose.yml中采用如下配置改变合适的分辨,(我的液晶显示器为1920x1080)

    environment:
      - RESOLUTION=1920x1080
    

    总结

    经过几天的尝试,终于比较顺利完成pycharm环境的docker构建,dorowu/ubuntu-desktop-lxde-vnc:latest镜像用起来简单,没出问题!最终的画面显示如下图,docker-compose.yml我也上传了!docker-compose.yml的csdn资源
    Ubuntu桌面Pycharm开发搭建

    展开全文
  • docker-pycharm-python 易于使用且兼容Python 开发框,可与。 此框不适用于生产。 它带有用于 PyCharm 访问的 SSH/SFTP。 对我来说,这是一个测试,看看 docker 是否可以用作“无业游民的替代品”,尤其是在从 ...
  • 深度学习环境配置docker+pycharm+GPU

    千次阅读 热门讨论 2017-12-14 19:06:18
    在机器学习过程中,可能要使用各种机器学习框架,如tensorflow,mxnet,caffe等等。相信配过这些环境的人都对这个过程很是厌烦。...这里将介绍使用dockerPyCharm配合并实现GPU运算机器学习代码的方法

    前言

    在机器学习过程中,可能要使用各种机器学习框架,如tensorflow,mxnet,caffe等等。相信配过这些环境的人都对这个过程很是厌烦。有没有一种更好的方法呢?回答是肯定的:有!下面就隆重介绍一下一个神奇的工具docker。

    docker

    docker是一个很强大的工具,非常方便开发,测试以及发布产品。并能保证在这几个环节中软件运行的环境是一模一样的。对docker不太熟悉的人可以暂时把docker当做一个轻量级的虚拟机(注意:docker和虚拟机是不一样的,虚拟机需要大量的资源来模拟硬件,运行操作系统。而docker几乎不会有计算性能的损失)。下面说几个docker的概念:

    • image: 就是镜像,是别人或自己做好的机器学习的环境,只要下载下来就可以了。这里是一些别人提交的镜像docker hub
    • container: 也叫容器,是docker根据镜像产生的,一个镜像可以产生多个容器。我们的代码运行实际上是在容器中。容器中也可以装这种软件但容器停止运行后并不会提交到镜像中,如果要保存这些改变可以使用commiting指令(这里我也没有仔细研究)。
    • deamon: daocker守护进程,当安装完docker并启动后docker守护进程就开始运行,用来管理镜像、容器等。可以通过docker API和socket两种方式与deamon进行交互。

    开始配置

    先说一下我当时开始研究这个的目的实际上是因为之前听说docker非常方便,正好又准备安装mxnet,mxnet的官网也提供docker方式安装的教程,因此就试了一下。按说有教程那还不简单,问题是mxnet的教程只教到mxnet安装成功,然后在terminal里启动容器,就开始编程,我总不能在终端里搞开发吧?于是我的研究之路就开始了。

    环境

    • 系统:ubuntu16.04
    • nvidia驱动版本:375.20
    • cuda:8.0.61
    • cudnn:6.0.21

    安装docker和MXnet

    我们先按照mxnet官网提示的安装方式安装docker

    1. 按照这里的提示安装docker(可以选择CE版)

    2. 按照这里的提示是docker运行不需要超级用户权限(也就是不用使用sudo,如果不做这一步以后执行docker指令时前边要加sudo。这一步在mxnet官网说是可选的,我开始偷懒就没做,这会导致后边pycharm连接docker时权限不够的问题,所以还是做了吧)。

    3. 按照这里的提示安装nvidia-docker2(这一步是为了能够使用GPU运算)

    4. 拉取MXnet docker 镜像
      $ docker pull mxnet/python:gpu # Use sudo if you skip Step 2
      使用下边的指令查看镜像是否拉取成功

      $ docker images # Use sudo if you skip Step 2
      REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
      mxnet/python        gpu                 493b2683c269        3 weeks ago         4.77 GB
      
    5. 运行如下指令就可以使用MXnet了

      $ nvidia-docker run -it mxnet/python:gpu bash # Use sudo if you skip Step 2 in the installation instruction
      # Start a python terminal
      root@4919c4f58cac:/# python
      
      >>> import mxnet as mx
      >>> a = mx.nd.ones((2, 3), mx.gpu())
      >>> b = a * 2 + 1
      >>> b.asnumpy()
      array([[ 3.,  3.,  3.],
             [ 3.,  3.,  3.]], dtype=float32)
      

    恭喜你!到了这里你已经成功安装了docker和mxnet,但问题是我总不能在terminal里做开发吧?
    不行,还要继续研究!

    PyCharm设置

    用过python的人对pycharm肯定非常熟悉了,能不能在pycharm里使用docker呢?pycharm says-yes!不过,首先你需要一个Professional edition版的pycharm。下面开始设置(英文好的看这里):

    1. 保证Docker integration和Python Docker两个插件是开启的
      Professional版的pycharm默认是安装了这两个插件,并且是开启的。

    2. docker配置
      在pycharm的设置->build,Execution,Deployment->Docker页面里,点击‘+’号就会出现一个docker设置页面,我们是Linux系统所以我们在Connect to Docker daemon with选项里直接选Unix socket就可以了。如果设置成功会在下方看到Connection successful的提示,如果你跳过了安装docker和MXnet中的第2步,这一步就会有权限不够的错误提示。这里写图片描述
      如果这一步成功了,就可以在pycharm下方看到Docker tool window,这是一个用来管理镜像,容器的可视化工具。
      这里写图片描述
      在这里可以很方便的启动,停止,添加和删除镜像、容器。也可以查看容器的一些参数。当然也可以使用docker的指令进行这些操作。
      这里写图片描述

    3. 为你的代码配置镜像里的解释器
      其实整篇文章就只为了这一步,只要我们的代码能使用镜像里的python解释器,那就达到了我们的目的了。添加本地解释器大家应该都会。在Professional版的pycharm里有个添加远程解释器。我们就是用这个
      这里写图片描述
      点击后会出现下边这个对话框
      这里写图片描述
      我们选择Docker这个选项,此时Server和Python interpreter path已经自动填好,大家不用管它,主要是选择你要使用的镜像。如果你不使用GPU版的镜像,那么其实到了这一步就已经配置好了。
      说一下我这里为什么选择tensorflow/tensorflow:latest-gpu镜像,不是已经装好了MXnet了嘛?说多了都是泪啊!MXnet的镜像里并没有吧MXnet安装在python的安装包路径下,而是在根路径下,使用nvidia-docker run -it mxnet/python:gpu bash指令启动时通过设置PYTHONPATH=/mxnet/python环境变量让python可以使用,但是!当你在pycharm中启动时,这个环境变量是没有设置的。所以import mxnet会不成功。这个问题还是有方法解决的,就是在Edit Configuration里添加环境变量。而且只能在这里添加,别的地方添加不好用,反正我实验的是不行的。
      这里写图片描述
      使用tensorflow的镜像就不会有这个问题,因为tensorflow是安装在python的的路径下的。所以请大家在接下来也先使用tensorflow作为这次配置的镜像,我们这次的目标是能在GPU上跑,所以用下面的指令下载GPU版的
      docker pull tensorflow/tensorflow:latest-gpu

    4. 使用GPU运行你的代码
      到这里有人就会发现问题,之前我们装了dockernvidia-docker那pycharm用的是哪一个呢?很不幸的是pycharm使用的是标准的docker。 那么这就有问题,我们不能使用GPU做运算。如何才能使用GPU呢?
      实际上如果我们用的是nvidia-docker1我们可能还需要安装docker-composenvidia-docker-compose,很不幸nvidia-docker-compose不能和nvidia-docker2兼容,那怎么办?看这里,这个连接提供了解决的方法就是吧"default-runtime": "nvidia",添加到/etc/docker/daemon.json文件中

      {
          "default-runtime": "nvidia",
          "runtimes": {
              "nvidia": {
                  "path": "/usr/bin/nvidia-container-runtime",
                  "runtimeArgs": [ ]
              }
          }
      }
      

    接下来是非常关键的一步,也是让我觉得自己很白痴的一步,我在这里卡了很久。
    重启docker的守护进程
    重启docker的守护进程
    重启docker的守护进程
    sudo pkill -SIGHUP dockerd
    由于我的电脑下班后不关机,所以只要我不主动重启docker守护进程,这几天就从没有重启过。这样我们刚刚改的daemon.json文件是不会生效的。所以一直不能使用GPU运算。

    小结

    好啦,现在大家就可以使用镜像里的python解释器运行pycharm里的代码了,而且即使你本机上没有装tensorflow,写代码时也会有自动补全,其实在做完PyCharm设置中的第3步时写代码就有自动补全功能了,只是运行时会提示找不到libcuda.so.1的库,导致不能使用GPU运行。

    最后

    现在大家可以继续使用PyCharm愉快的编程了。另外有了docker这个神器,以后再也不用发愁环境搭建,电脑重装系统啦。对测试团队,以及产品的部署也是很方便的。
    另外,PyCharm还有一种方式和docker配合,有兴趣的可以研究下docker-compose。但由于这种方式在运行代码时会有一个docker-compose up的过程,感觉不是很爽。也许有有其他我不了解的优点。
    祝大家学习愉快!

    展开全文
  • Table of Contents docker的创建: 1、服务器上安装好docker 2、查找安装对应的镜像 ...6、配置ssh的协议 + pycharm + xshell 连接服务器 Xshell 7、退出容器后,重新启动该容器并且在后台运行 引言 ...

    Table of Contents

    docker的创建:

    1、服务器上安装好docker

    2、查找安装对应的镜像

    3、在终端中下载相关的镜像

    4、docker images 查看相关的镜像的 id

    5、创建容器

    4、5 相关的截图

    6、配置ssh的协议 + pycharm + xshell 连接服务器

    Xshell

    7、退出容器后,重新启动该容器并且在后台运行


     

    引言


    该教程的准备前,需要在服务器上安装docker

     

    • 其他的一些参考资料

    pycharm 远程连接docker容器调试程序

    https://blog.csdn.net/hanchaobiao/article/details/84069299

     

    PyCharm+Docker:打造最舒适的深度学习炼丹炉

    https://zhuanlan.zhihu.com/p/52827335

     

     

    docker的创建:


    1、服务器上安装好docker

    2、查找安装对应的镜像

    在下面的docker hub 中找到自己合适的镜像

    Docker Hub

    https://hub.docker.com/

     

    如,下载一个pytorch相关的镜像

    Explore - Docker Hub

    https://hub.docker.com/search?q=pytorch&type=image

     

    3、在终端中下载相关的镜像

    docker pull dsksd/pytorch:0.4.1

    docker pull 下载镜像的命令

    dsksd/pytorch 为镜像的名称

    0.4.1  为对应的标签的版本

     

    4、docker images 查看相关的镜像的 id

     

     

    xyj@xyj-W580-G20:~$ docker images

    WARNING: Error loading config file: /home/xyj/.docker/config.json: stat /home/xyj/.docker/config.json: permission denied

    REPOSITORY TAG IMAGE ID CREATED SIZE

    nvidia/cuda 9.0-base 1476e7f683da 2 weeks ago 175MB

    nvidia/cuda 9.0-base-ubuntu16.04 cfab853500aa 2 weeks ago 174MB

    nvidia/cuda 10.0-base 1ab2d3e6e58d 2 weeks ago 112MB

    mycaffe/gpu 1.0 6570aaff012f 2 weeks ago 5.17GB

    nvidia/cuda <none> 721bf18dc98f 5 weeks ago 137MB

    nvidia/cuda <none> e5eb52810532 5 weeks ago 110MB

    caffe/gpu 0.1 8deef48b1da2 5 weeks ago 15.8GB

    caffe 0.1 697b3f6e7043 6 weeks ago 14.4GB

    pytorch/pytorch nightly-devel-cuda10.0-cudnn7 a5b30513fbc1 2 months ago 6.4GB

    nvidia/cuda <none> cec06c83b6d6 3 months ago 137MB

    nvidia/cuda <none> e0719fc05fac 3 months ago 165MB

    nvidia/cuda <none> 53418d80213d 3 months ago 115MB

    nvidia/cuda 9.0-cudnn7-runtime-ubuntu16.04 3b75042d0c57 3 months ago 1.22GB

    nvidia/cuda 10.0-cudnn7-runtime-ubuntu16.04 37aa75fe187f 3 months ago 1.33GB

    daocloud.io/daocloud/tensorflow latest c9a0882cbdbc 4 months ago 1.05GB

    tensorflow/tensorflow latest c9a0882cbdbc 4 months ago 1.05GB

    ufoym/deepo latest 3256880e4c5b 4 months ago 10.6GB

    kbobrowski/tensorflow-gpu-opencv latest 38069988e9ae 5 months ago 3.91GB

    container-314 latest bfc13bc0d9c9 5 months ago 19.2GB

    c-new latest 905996b83494 5 months ago 14.8GB

    nvidia/cuda 9.0-cudnn7-devel-ubuntu16.04 f780be4907ca 6 months ago 2.71GB

    nvidia/cuda 10.0-cudnn7-devel-ubuntu16.04 fdbd6d128838 6 months ago 3.09GB

    nvidia/cuda 8.0-devel a8f4ac5ee686 6 months ago 1.7GB

    tensorflow/tensorflow <none> 72bdfab04989 6 months ago 1.1GB

    nvidia/cuda latest d9a8427c8dd9 7 months ago 2.35GB

    dbctraining/pytorch0.4.1-gpu-cuda9-cudnn7-py3 v1.0.1 f57cdd7c8b7f 7 months ago 3.04GB

    anibali/pytorch cuda-9.2 86b1edf0bd95 8 months ago 3.51GB

    daocloud.io/daocloud/tensorflow nightly-devel-gpu-py3 beb1f2c06280 9 months ago 3.88GB

    blinkeye/deepo-tf-caffe-opencv-dlib-py3 latest 294b5124decf 10 months ago 4.74GB

    dsksd/pytorch 0.4.1 a8bdabe9931a 11 months ago 11.7GB

    tensorflow/tensorflow 1.8.0-devel-gpu-py3 fff42c2fd81c 16 months ago 3.13GB

    bvlc/caffe gpu ba28bcb1294c 16 months ago 3.38GB

    rynge/osg-tensorflow-gpu latest e5100c70954f 22 months ago 7.14GB

    drunkar/anaconda-tensorflow-gpu latest a120be75d222 3 years ago 3.61GB

    xyj@xyj-W580-G20:~$ docker images | grep dsksd

    WARNING: Error loading config file: /home/xyj/.docker/config.json: stat /home/xyj/.docker/config.json: permission denied

    dsksd/pytorch 0.4.1 a8bdabe9931a 11 months ago 11.7GB

     

    docker images | grep dsksd

    | 管道符,同时运行两个命令

    grep 过滤

    dsksd 过滤要找的关键词

     

    5、创建容器

    xyj@xyj-W580-G20:~$ sudo docker run --name xjr_pytocrh -it -v /home/xyj/xjr_directory/:/home/xjr_directory -p 6898:22 -p 6806:6066 -p 6088:8888 a8bda /bin/bash

    说明:

    -v : 目录映射

    /home/xyj/xjr_directory/  : 本机目录

    /home/xjr_directory :docker 容器里面的目录

    -p :端口映射

     

    4、5 相关的截图

     

    6、配置ssh的协议 + pycharm + xshell 连接服务器

     

    pycharm

    映射路径说明:

    Root path:pycharm 直接连接的服务器的目录

    Deployment path on server : 相对于  Root path 的服务器目录

     

    下图中由于 Root path 是 / ,因此  Deployment path on server  就是服务器的绝对目录

    等价于:

     Root path:

    /home/docker/code

     Deployment path on server:  

    ./app

     

     

     

    pycharm 远程连接docker容器调试程序

    https://blog.csdn.net/hanchaobiao/article/details/84069299

     

    PyCharm+Docker:打造最舒适的深度学习炼丹炉

    https://zhuanlan.zhihu.com/p/52827335

     

    Xshell

    (1条消息)Xshell如何连接Docker容器中的Linux - u010046887的专栏 - CSDN博客

    https://blog.csdn.net/u010046887/article/details/90406725

     

    7、退出容器后,重新启动该容器并且在后台运行

    • 退出容器

    exit

    •     找到该容器

    xyj@xyj-W580-G20:~$ docker ps

    • 启动容器

    9ce 容器id号码

    xyj@xyj-W580-G20:~$ docker start 9ce

     

    • 重新启动该容器,并在后台运行

    xyj@xyj-W580-G20:~$ docker exec -it 9ce bash

     

     

     

     

     

     

    展开全文
  • 基于前面几篇博客,楼主搭建了基于RTX 3090显卡的深度学习环境,使用专业版pycharm在本地远程连接服务器中搭建的Docker容器,使用效果非常好,解决了在远程服务器中使用pycharm卡顿的现象,最重要的是极大的解放了...
  • docker上pull下来deepo3.2 配置容器ssh连接3.3 提交修改到镜像参考 0. 补充说明 1. 在ubuntu18.04上进行 2. 在装了显卡驱动后,已经默认装好了cuda 1. 装Docker 2. 装nvidia-docker 3. 在docker上pull下来deepo...
  • pycharm的技巧https://www.zhihu.com/question/37787004 ...我的需求是实验室有电脑一台(该电脑装docker),自己的笔记本一台(该电脑装了pycharm)。 希望可以任何地方的时候ssh到实验室的电脑。 1购买阿...
  • docker】【pycharmpycharm配置docker远程连接配置sshPycharm配置拉取代码 这次是参考师兄给的文档 首先进入docker docker start xxxxx docker attach xxxxx 配置ssh 使用vim /etc/ssh/sshd_config编辑ssh配置...
  • Pycharm 远程连接 Docker

    2020-04-24 23:09:16
    title: Pycharm 远程连接 Docker tags: Pycharm 远程连接 Docker 文章目录Pycharm 远程连接 Docker为什么要用pycharm远程连接docker安装Dockerpycharm连接docker配置pycharm 引用:pycharm连接远程linux服务器的...
  • 1.首先安装docker docker安装参考链接 2.再安装nivida-docker 安装参考链接 注意:根据的cuda的版本进行测试 cuda查看方式: user@master:/etc/apt$ nvidia-smi Fri Nov 6 09:08:02 2020 +------------------------...
  • SSH连接docker容器配置pycharm远程调试

    千次阅读 2019-05-05 21:47:47
    docker版本:18.09.4 docker镜像:yxz_image 2 配置步骤 2.1 创建容器时指定映射的端口 docker run -itd --runtime=nvidia --name=eloquent_mclaren -e NVIDIA_VISIBLE_DEVICES=6 -v /datasets/:/dat...
  • 文章目录一、Docker使用Centos镜像安装Openssh服务二、PyCharm连接Docker总结 Pycharm的工具是具有通过SSH协议远程访问一个环境作为开发环境的功能的。那么只要创建一个支持SSH远程访问的容器,那么就可以提供作为...
  • pycharm连接docker

    2021-06-30 11:18:36
    docker22端口映射到服务器9003端口 https://zhuanlan.zhihu.com/p/76469329 修改Dockerfile 建立镜像时就允许用户通过远程连接 https://blog.csdn.net/hanchaobiao/article/details/84069299
  • 1.pycharm 连接远程docker,首先要连接docker 2.要做文件配置映射
  • pycharm 远程连接docker

    2021-03-16 18:00:42
    pycharm 远程连接docker 查看配置文件位置: sudo systemctl status docker 修改override.conf ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -H fd:// --containerd=/...
  • 这里我们介绍pycharm连接远程服务器docker的方法。首先我们启动一个新的pytorch容器,命令如下。关于此步骤更详细的说明,参见ubuntu+docker使用nvidia显卡运行pytorch。6006端口是用来运行tensorboard的,这里重要...
  • Pycharm连接远程Docker

    2020-06-06 23:33:29
    一、开启服务端docker远程访问 以centos7为例 vim /lib/systemd/system/docker.service #ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ExecStart=/usr/bin/dockerd -H tcp...
  • pycharm连接远程docker调试 1. 安装docker(以ubuntu为例) 参考 菜鸟教程 2. 创建容器,设置容器环境 使用ubuntu镜像,启动docker # 拉取容器,创建docker # -p 20080:80 -p 20022:22 将80和22端口对外暴露 # -...
  • pycharm 远程连接docker容器调试程序

    万次阅读 多人点赞 2018-11-14 19:21:12
    Pycharm远程调试服务器中的代码(docker容器内部)   一、首先假设你已启动了一个docker容器,并在启动时将容器的22端口映射到宿主机的10022端口 启动示例: docker run -d --name django_api -p 8000:80 -p ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,473
精华内容 589
关键字:

docker连接pycharm

pycharm 订阅