作家
登录

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

作者: 来源: 2017-06-20 11:58:30 阅读 我要评论

作者:Killian

机械之心编译

cd src

介入:Nurhachu Null、李亚洲

# 挂载你的长途 home 文件夹

我想感激我的实验室错误 Chris Saam,因为他给我指清楚明了几个我会在本文中提到的有趣的对象。

一次安装

长途机械上

在这篇文┞仿中,研究察 Killian 介绍了本身的深度进修开辟情况:TensorFlow + Docker + PyCharm + OSX Fuse + Tensorboard。但根据本身的预算、说话习惯、开辟需求,每小我都邑设备不合的开辟情况,也碰到过各类各样的难题。是以,我们在文后附上了一份调盘考卷,欲望能懂得浩瀚不合开辟者的深度进修情况,最终汇集成一篇文┞仿为大年夜家供给不合的洞见。

在测验测验用不合的器械来设备深度进修情况这个过程中,我花费了相当多的时光。是以我想着把本身今朝的工作流程整顿成文档,欲望可以赞助到测验测验着做同样工作的人。

目标

在开端创建我的模型之前,我脑海中会有几个清楚的目标,即幻想中会应用的开辟情况。下面是我会在这篇博文中具体介绍的几个高层次目标:

  • 在本地机械 (一个标准的 MacBookPro 标记本电脑) 上用 Pycharm 编辑我的代码

  • 用一个强大年夜的长途机械来练习我的模型

  • 和我的同事们没有任何冲突地应用这台长途机械

  • 在本地和长途机械上的 docker 容器中以开辟/产品的模式来运行/调试我的 TensorFlow 代码

  • 当我的模型在长途机械上练习的时刻,把模型的机能图形化地及时显示在本地机械上

申谢

是以,在做其他任何工作之前,你可能须要做这几件工作。趁便说一下,在这篇文┞仿中我会说起在你的长途机械上 (带有所有的 GPU 的从属项目)应用 super duper,在这台长途机械上你筹划练习你的深度进修机械模型。

安装 Nvidia-docker:你须要做的第一件工作就是安装 Nvidia-docker。Docker 确切是一个很酷的对象,然则它今朝并不克不及让你最有效地应用任何一个 NVIDIA 的 GPU 硬件或者 CUDA 驱动法度榜样,所以你弗成能拿 docker 来练习你的深度模型。Nvidia-docker 为你解决了这个问题,并且看上去更像一个通俗的 docker。在惯例的 Docker 敕令之上,它还供给了一些选项,可以让你更有效地治理你的 NVIDIA GPU 硬件。

启动 Nvidia docker:既然你已经获得了为你的义务所分派的资本,那么,启动一个 docker 容器来在精确的情况中运行你的代码吧。与应用惯例的 docker 有所不合,这里我们会应用 NVIDIA-Docker 来充分地应用我们的 GPU。别的,为了充分应用你的硬件,请包管你运行的是 TensorFlow 的 GPU docker 映像而不是 docker CPU 映像。别忘了应用 - v 选项来在 docker 容器中挂载你的项目文件夹。当你在那个容器中今后,你就可以简单地应用惯例的 python 敕令来运行你的代码了。

图 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-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 文件夹,并且选择性地挂载深度进修数据。你可能欲望为所有这些敕令起一些别号,因为它们确切有些长。

sshfs -o uid=$(id -u) -o gid=$(id -g) myusername@mydeeplearningmachine.com:/home/myusername/ /LocalDevFolder/MountedRemoteHomeFolder


  推荐阅读

  深度 | 详解首个系统性测试现实深度学习系统的白箱框架DeepXplore

作者:Yoav Hollander我认为这可以用来做很多工作(拜见标题名为「Other applications of DNN gradients(深度神经收集梯度的其它应用)」的论文┞仿节)。例如,这里有个初步、模糊的设法>>>详细阅读


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

地址:http://www.17bianji.com/lsqh/35835.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)