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

Wal*_*law 2 powershell docker tensorflow jupyter-notebook google-colaboratory

我正在尝试使用 Docker 在 Windows 10 上学习 TensorFlow,但我陷入了环境设置的最开始阶段。

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

并做了:

docker run -it -p 8888:8888 张量流/张量流: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 镜像/容器/命令/配置中...

到目前为止我尝试过的:

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

任何帮助,将不胜感激 :)

Wal*_*law 5

好吧,经过几个小时的搜索,我发现了如何覆盖 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'
Run Code Online (Sandbox Code Playgroud)