如何在 Windows 10 上使用 Powershell 将 Google Colab 与本地 TensorFlow Jupyter 服务器一起使用?

Posted

技术标签:

【中文标题】如何在 Windows 10 上使用 Powershell 将 Google Colab 与本地 TensorFlow Jupyter 服务器一起使用?【英文标题】:How to use Google Colab with a local TensorFlow Jupyter server using Powershell on Windows 10? 【发布时间】:2020-07-16 09:08:10 【问题描述】:

我正在尝试使用 Docker 在 Windows 10 上学习 TensorFlow,但我被困在环境设置的最开始。

我跟着这个: https://www.tensorflow.org/install#download-a-package

并且做到了:

docker run -it -p 8888:8888 tensorflow/tensorflow:latest-py3-jupyter

然后我跟着这个: https://www.tensorflow.org/tutorials/quickstart/beginner

问题是当我尝试使用 Google Colab(使用 Google Chrome)连接到我的本地服务器时,我在 docker 日志中收到以下错误:

阻止 /http_over_websocket 的跨域 API 请求。起源: https://colab.research.google.com,主机:localhost:8888

错误非常明显,Google Colab 立即给了我解决方案:

jupyter 笔记本 \ --NotebookApp.allow_origin='https://colab.research.google.com' \ --port=8888 \ --NotebookApp.port_retries=0

但是,对于我的生活,我无法弄清楚如何将此参数添加到 docker image/container/command/configuration...

到目前为止我尝试了什么:

    我尝试将参数传递给 docker run 命令,但它不起作用。 我尝试在不使用 -it 的情况下运行容器,然后连接到它以使用这些参数重新启动服务器,但一旦我停止 Jupyter 服务器,它就会停止 docker。 我尝试在启动 docker 时指定“-u $(id -u):$(id -g)”,因为我在容器启动时收到警告说我不应该以 root 用户身份连接.. . 但它不起作用,因为我在 Windows 10 上使用 PowerShell。

任何帮助将不胜感激:)

【问题讨论】:

【参考方案1】:

好的,经过几个小时的搜索,我发现了如何覆盖 docker 映像默认 CMD 以附加“--NotebookApp.allow_origin='https://colab.research.google.com'”,并且成功了!

所以解决办法是:

docker run -it -p 8888:8888 tensorflow/tensorflow:latest-py3-jupyter jupyter notebook --notebook-dir=/tf --ip 0.0.0.0 --no-browser --allow-root --NotebookApp.allow_origin='https://colab.research.google.com'

【讨论】:

+1 感谢一百万。对于 Nvidia GPU Tensorflow 支持,我安装了带有 GPU 支持的 Nvidia Driver,Nvidia Docker Toolkit 然后添加了 --gpus all,因此最终命令变为: sudo docker run -it --gpus all -p 8888:8888 tensorflow/tensorflow :latest-py3-jupyter jupyter notebook --notebook-dir=/tf --ip 0.0.0.0 --no-browser --allow-root --NotebookApp.allow_origin='colab.research.google.com' 以后可以参考相关的Dockerfileshere

以上是关于如何在 Windows 10 上使用 Powershell 将 Google Colab 与本地 TensorFlow Jupyter 服务器一起使用?的主要内容,如果未能解决你的问题,请参考以下文章

UVa 10515 Powers Et Al.

Codeforces 988D Points and Powers of Two 性质卡常

「CF622F」The Sum of the k-th Powers「拉格朗日插值」

Codeforces ECR 83 C. Adding Powers (位运算)

Ansible管理windows

C. Adding Powers