我如何启动tensorflow docker jupyter笔记本
tensorflow
8
0

我已经在ubuntu机器上安装了tensorflow docker容器。 tensorflow docker 设置说明指定:

docker run -it b.gcr.io/tensorflow/tensorflow

这使我进入docker容器终端,并且我可以运行python并执行Hello World示例。我也可以手动运行。\ run_jupyter.sh以启动jupyter笔记本。但是,我无法从主机访问笔记本。

如何启动jupyter笔记本,以便可以从主机上使用笔记本?理想情况下,我想使用docker在单个命令中启动容器并启动jupyter。

参考资料:
Stack Overflow
收藏
评论
共 6 个回答
高赞 时间 活跃

Jupyter现在可以为TensorFlow准备运行Docker映像了:

docker run -d -v $(pwd):/home/jovyan/work -p 8888:8888 jupyter/tensorflow-notebook

收藏
评论

要使其在hyper-v下运行。执行以下步骤:

1)使用https://blogs.msdn.microsoft.com/scicoria/2014/10/09/getting-docker-running-on-hyper-v-8-1-2012-r2/创建docker虚拟机为您提供一个工作的Docker容器。您可以通过控制台或ssh连接到它。我至少要放置8gb的内存,因为我敢肯定这会占用很多内存。

2)运行“ ifconfig”来确定Docker VM的IP地址

3)在docker shell提示符下输入:

码头工人运行-p 8888:8888 -p 6006:6006 -it b.gcr.io/tensorflow/tensorflow

4)使用http:/ [ifconfig地址]:8888 /连接到Jupyter工作台

收藏
评论

进一步阅读Docker文档后,我有一个适合我的解决方案:

docker run -p 8888:8888 -p 6006:6006 b.gcr.io/tensorflow/tensorflow ./run_jupyter.sh

-p 8888:8888和-p 6006:6006将容器端口在同一端口号上公开给主机。如果仅使用-p 8888,则会在主机上分配一个随机端口。

./run_jupyter.sh告诉docker在容器中执行什么。

使用此命令,我可以使用主机上的浏览器连接到http:// localhost:8888 /并访问jupyter笔记本。

更新:在Windows上与docker搏斗后,我切换回具有docker的Ubuntu计算机。我的笔记本在Docker会话之间被擦除,这在阅读更多Docker文档后才有意义。这是一条更新的命令,该命令还将容器目录挂载到容器中,并开始jupyter指向该挂载的目录。现在我的笔记本保存在主机上,下次启动tensorflow时将可用。

docker run -p 8888:8888 -p 6006:6006 -v /home/rob/notebook:/notebook b.gcr.io/tensorflow/tensorflow sh -c "jupyter notebook /notebook"
收藏
评论

我简单而有效的工作流程:

TL; DR版本:

  1. 打开Docker Quickstart Terminal 。如果已经打开,请运行$ cd
  2. 运行一次$ docker run -it -p 8888:8888 -p 6006:6006 -v /$(pwd)/tensorflow:/notebooks --name tf b.gcr.io/tensorflow/tensorflow
  3. 每次启动: $ docker start -i tf

如果您不在Windows上,则应该将/$(pwd)更改为$(pwd)

您将在主目录中获得一个名为tensorflow的空文件夹,用作项目文件(如Ipython Notebook和数据集)的永久存储。

说明:

  1. cd以确保您位于主目录中。
  2. 参数:
    • -it表示交互式,因此您可以在终端环境中与容器进行交互。
    • -v host_folder:container_folder允许在主机和容器之间共享文件夹。主机文件夹应位于主目录内。 /$(pwd)转换为//c/Users/YOUR_USER_DIR在Windows 10此文件夹被看作是notebooks在容器目录其用于通过IPython的/ Jupyter笔记本。
    • --name tf分配名称tf的容器。
    • -p 8888:8888 -p 6006:6006容器到主机的映射端口,第一对用于Jupyter笔记本,第二对用于Tensorboard
  3. -i代表互动

在云上运行TensorFlow

收藏
评论

对于Linux主机罗伯特·格雷夫斯(Robert Graves),答案是可行的,但对于Mac OS X或Windows,还有更多工作要做,因为Docker在虚拟机中运行。

因此,要开始启动docker shell(如果使用Linux,则要启动任何shell)并运行以下命令以启动新的TensorFlow容器:

docker run -p 8888:8888 -p 6006:6006 b.gcr.io/tensorflow/tensorflow ./run_jupyter.sh

然后,对于Mac OS X和Windows,您只需执行一次以下操作:

  1. 打开VirtualBox
  2. 单击docker vm(我的系统自动命名为“默认”)
  3. 通过单击设置打开设置
  4. 在网络设置中,打开端口转发对话框
  5. 单击+符号以添加另一个端口,并通过填写如下所示的对话框将端口从Mac连接到VM。在此示例中,我选择端口8810,因为我使用端口8888运行其他笔记本。 在此处输入图片说明
  6. 然后打开浏览器并连接到http:// localhost:8810 (或您在“主机端口”部分中设置的任何端口
  7. 使您的花式裤子机器学习应用程序!
收藏
评论

如果您是使用Windows机器的码头工人,那么这些步骤对我有用。

版本:Windows 8.1,docker 1.10.3,tensorflow r0.7

  1. 运行Docker快速入门终端
  2. 加载后,记下IP地址。如果找不到,请使用此docker-machine ip并进行记录。让我们称之为“ IP地址”。看起来像这样:192.168.99.104(我组成了这个IP地址)
  3. 将此命令粘贴到docker终端上:

    docker run -p 8888:8888 -p 6006:6006 b.gcr.io/tensorflow/tensorflow

    如果您是第一次运行此程序,它将在此轻量级vm上下载并安装映像。然后应该说:“ Jupyter笔记本电脑正在....”运行->这是一个好兆头!

  4. 在以下位置打开浏览器: <your ip address (see above)>:8888 。例如。 192.168.99.104:8888/
  5. 希望您可以看到您的ipython文件。
收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题