我相信很多有兴趣学习DL的人都听说过这门课程:
https://www.udacity.com/course/deep-learning--ud730
我现在正在学习该课程,并希望分享如何从头开始在Windows上设置学习环境的逐步说明。
第一个名为设置环境的答案是关于建立学习环境。你只运行一次。
第二个答案名为 AFTER LOCAL MACHINE REBOOT ,是关于如何在重新启动计算机后启动环境。
查看名为 HOW IT ALL WORKS 的第三个答案,了解所有这些内容的工作原理(或者您可以盲目地按照第一个答案并稍后查看)。
< / LI>答案 0 :(得分:5)
设置环境(只运行一次!)
N.B。要在计算机重启后启动就绪环境,请在第二个答案中使用 AFTER LOCAL MACHINE REBOOT 指令。
<强>步骤:强>
https://www.docker.com/products/docker-toolbox
Docker是一种在您的计算机上部署预配置虚拟学习环境的工具。它将在虚拟机内运行,无论如何都不会弄乱你的计算机。
mklink / J&#34; C:\ Users \ USER \ .docker&#34; &#34; d:\泊坞&#34;
更多信息:Change .docker directory on Windows
docker-machine create vdocker -d virtualbox
FOR / f&#34;令牌= *&#34; %i IN(&#39; docker-machine env --shell cmd vdocker&#39;)DO%i
更多信息:How do I start tensorflow docker jupyter notebook
docker run -it -p 8888:8888 -p 6006:6006 --name tensorflow-udacity -it b.gcr.io/tensorflow-udacity/assignments:0.5.0
P.S。如果您已在本地计算机上安装了IPython笔记本,请使用:8810端口。
答案 1 :(得分:1)
本地机器重新启动后
要在计算机重启后启动学习环境,请使用以下内容创建 .bat 文件(我称之为 udacity-tf-start.bat ):
call docker-machine start vdocker
FOR /f "tokens=*" %%i IN ('docker-machine env --shell cmd vdocker') DO %%i
call docker start -ai tensorflow-udacity
重要! %% 是一种转义,您只需要在 BAT文件中。如果您通过命令行运行相同的命令集,则应使用:
FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd vdocker') DO %i
答案 2 :(得分:1)
这里补充其他答案是我创建/运行/启动docker机器的起始脚本。设置继续现在归结为从https://docs.docker.com/toolbox/toolbox_install_windows/安装最新版本的docker工具箱(这应该是autom。安装vbox)并运行脚本:
@echo off
set DOCKERMACHINENAME=tensorflow-udacity
set REPOSITORY=gcr.io/tensorflow/udacity-assignments:0.6.0
set "LOCALDIR0=/%SystemDrive:~0,1%/"
call :LoCase LOCALDIR0
SET "LOCALDIR=%LOCALDIR0%Users/%USERNAME%"
docker-machine.exe env %DOCKERMACHINENAME% > nul 2> nul
if "%errorlevel%"=="0" goto m_exists
::Machine has to be created
docker-machine create -d virtualbox --virtualbox-memory 8196 %DOCKERMACHINENAME%
:m_exists
::Check if machine needs to be restarted
docker-machine ip %DOCKERMACHINENAME% > nul 2>nul
if not "%errorlevel%"=="0" (docker-machine.exe restart %DOCKERMACHINENAME%)
FOR /F "tokens=*" %%i IN ('docker-machine env --shell cmd %DOCKERMACHINENAME%') DO %%i
FOR /F "tokens=*" %%F IN ('docker-machine ip %DOCKERMACHINENAME%') DO (SET DOCKERMACHINEIP=%%F)
echo Access to iPython: %DOCKERMACHINEIP%:8888
docker inspect %DOCKERMACHINENAME% > nul 2> nul
if "%errorlevel%"=="0" goto m_started
:: Machine has to be started
docker run -p 8888:8888 --name %DOCKERMACHINENAME% -v %LOCALDIR%:/mnt/hosttmp:rw -it %REPOSITORY%
goto finished
:m_started
docker start -ai %DOCKERMACHINENAME%
goto finished
:LoCase
FOR %%i IN ("A=a" "B=b" "C=c" "D=d" "E=e" "F=f" "G=g" "H=h" "I=i" "J=j" "K=k" "L=l" "M=m" "N=n" "O=o" "P=p" "Q=q" "R=r" "S=s" "T=t" "U=u" "V=v" "W=w" "X=x" "Y=y" "Z=z") DO CALL SET "%1=%%%1:%%~i%%"
:finished
::hint: to remove container use: docker rm %DOCKERMACHINENAME%
答案 3 :(得分:0)
如何运作
免责声明:这可能有点类似于 Christopher Nolan的Inception 电影的情节。
整体情况
<强>详情
由于Windows操作系统的某些限制, Docker 无法在本地运行(尚未)。这就是为什么我们首先创建一个虚拟框:
docker-machine创建 vdocker -d virtualbox
下一步(表示为魔术步骤)为 docker 命令设置了一些环境变量,以便能够连接 docker daemon 运行< strong>在虚拟框内:
FOR / f“tokens = *”%i IN('docker-machine env --shell cmd vdocker ')DO%i
>SET DOCKER_TLS_VERIFY=1
>SET DOCKER_HOST=tcp://192.168.99.100:2376
>SET DOCKER_CERT_PATH=C:\Users\USER\.docker\machine\machines\vdocker
>SET DOCKER_MACHINE_NAME=vdocker
然后我们运行:
docker run -it -p 8888:8888 -p 6006:6006 --name tensorflow-udacity -it b.gcr.io/tensorflow-udacity/assignments:0.5.0
从其从指定网址下载的图片中创建名为 tensorflow-udacity 的 docker容器。 重要!该容器在虚拟框内运行。
注意 -p 标志:
-p 8888:8888 -p 6006:6006
它告诉 docker daemon 将容器的端口8888转发(发布)到主机(虚拟盒)端口8888.它尚未在Windows机器上可用!
现在我们再向虚拟框设置添加一个端口转发规则: