如何使用TensorFlow为Windows Udacity Deep Learning课程设置学习环境(Windows)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用TensorFlow为Windows Udacity Deep Learning课程设置学习环境(Windows)相关的知识,希望对你有一定的参考价值。
我相信许多有兴趣学习DL的人都听说过这门课程:
https://www.udacity.com/course/deep-learning--ud730
我现在正在学习该课程,并希望分享如何从头开始在Windows上设置学习环境的分步说明。
- 第一个名为“设置环境”的答案是关于建立学习环境。你只运行一次。
- 名为AFTER LOCAL MACHINE REBOOT的第二个答案是关于如何在重新启动计算机后启动环境。
- 请参阅第三个答案名为HOW IT ALL WORKS以了解所有这些内容是如何工作的(或者您可以盲目地按照第一个答案并稍后查看)。
设置环境(只运行一次!)
注:要在计算机重新启动后启动就绪环境,请在第二个答案中使用AFTER LOCAL MACHINE REBOOT指令。
脚步:
- 下载并设置Docker Toolbox:
https://www.docker.com/products/docker-toolbox
Docker是一种在您的计算机上部署预配置虚拟学习环境的工具。它将在虚拟机内运行,无论如何都不会弄乱你的计算机。
- (可选步骤)Docker会将它的文件放在系统盘(C :)上,如果使用SSD,你可能想要更改它。你可以这样做:
mklink / J“C: Users USER .docker”“D: Docker”
- 用您的用户名替换USER
- 将“D: Docker”替换为您希望存储Docker文件的其他驱动器上的路径
更多信息:Change .docker directory on Windows
- 打开Windows CMD。转到安装Docker的文件夹。创建一个新的docker机器:
docker-machine创建vdocker -d virtualbox
- (神奇的一步)跑吧!
FOR / f“tokens = *”%i IN('docker-machine env --shell cmd vdocker')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
- (重要的一步!)配置端口转发: 运行Oracle VM VirtualBox链接(应在安装Docker时创建):
- 转到vdocker机器的设置...:
- 添加端口转发(它将虚拟环境中的8888端口转发到本地计算机上的8810端口):
附:使用:8810端口,以防您在本地计算机上安装了IPython笔记本电脑。
- 在Settings ...菜单中(从上一步开始)允许虚拟机更多内存:
注:必须先关闭VirtualBox,然后才能对系统设置进行任何更改。 (由jlarsch提供)
使用以下命令停止VM:
docker-machine stop vdocker
(可选)您还可以允许它使用更多内核以便更快地运行:
- 利润!
在本地机器重新启动之后
要在计算机重启后开始学习环境,请使用以下内容创建.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
这里补充其他答案是我创建/运行/启动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%
它是如何工作的
免责声明:它可能有点类似于克里斯托弗诺兰的初始电影情节。
整体情况
细节
由于Windows操作系统的某些限制,Docker无法在本地运行(尚未)。这就是我们首先创建一个虚拟盒子的原因:
docker-machine创建vdocker -d virtualbox
下一步(表示为魔术步骤)为docker命令设置一些环境变量,以便能够连接到在虚拟框内运行的docker守护程序:
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:UsersUSER.dockermachinemachinesvdocker
>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
从它从指定URL下载的映像创建名为tensorflow-udacity的docker容器。重要!该容器在虚拟盒内运行。
注意-p标志:
-p 8888:8888 -p 6006:6006
它告诉docker守护进程将容器的端口8888转发(发布)到主机(虚拟盒)端口8888.它还没有在Windows机器上可用!
现在我们再向虚拟盒设置添加一个端口转发规则:
以上是关于如何使用TensorFlow为Windows Udacity Deep Learning课程设置学习环境(Windows)的主要内容,如果未能解决你的问题,请参考以下文章
如何部署Tensorflow训练模型以推断Windows独立应用程序
如何在 Windows 上降级 keras 和 tensorflow 版本?
如何在 Windows 10 上使用 Powershell 将 Google Colab 与本地 TensorFlow Jupyter 服务器一起使用?
手把手教你如何安装Tensorflow(Windows和Linux两种版本)
[完美解决]如何在windows安装docker toolbox,使用tensorflow,Jupyter Notebook,各种问题的解决方案