您可以在我的 GCP VM 上使用 Jupyter notebook 在 Google Cloud 中进行 运行 TPU 训练吗?
Can you use a Jupyter notebook on my GCP VM to run TPU training in Google Cloud?
我正在从 colab 中的 运行 个 TPU 切换到 Google 云中的 运行 个 TPU。我习惯 运行 在 colab jupyter notebook 中训练,但是根据 GCP TPU 快速入门指南,我需要使用 shell 脚本,并将我的代码转换为脚本。
https://cloud.google.com/tpu/docs/quickstart
有没有办法打开我的 GCP VM 的 Jupyter notebook 版本?
是的,您在 GCP VM 上打开并 运行 Jupyter notebook。必须有其他方法可以做到这一点,但这是我遵循并为我工作的方法 -
第 1 阶段 - 确保您已设置 GCP 项目并在支持 TPU 的区域中设置 VM 实例。对于我的,我使用了 us-central1-f.
第 2 阶段 - 确保您的 VM(计算引擎)、Cloud TPU 和 Cloud Storage 都已根据此处提供的说明进行设置和链接 - https://cloud.google.com/tpu/docs/quickstart
第 3 阶段 - 对于 VM,您需要通过以下方式启用防火墙设置
- Name:
- Targets: All instances in the network
- Source IP ranges: 0.0.0.0/0
- Protocols and ports: Select “Specified protocols and ports” option.
- tcp: 8888
Keep other configuration as default.
第 4 阶段 - 您需要安装以下内容:
- Anaconda
wget https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh
bash Anaconda3-4.2.0-Linux-x86_64.sh
- Tensorflow, Keras and any other libraries you need
source ~/.bashrc
pip install tensorflow
pip install keras
第 5 阶段 - 确保设置 Jupyter 配置
$ jupyter notebook --generate-config
$ nano ~/.jupyter/jupyter_notebook_config.py # I use nano editor
Drop these four lines at the top of this config file and save
c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888
就是这样。你只需要 运行
$ jupyter notebook
然后在浏览器中输入 http://your_external_IP:8888
如果您在 GKE 上使用 JupyterHub 的 helm 图表,您似乎也可以使用 JupyterHub 的配置文件。确保为 kubeSpawner 设置设置正确的覆盖:
singleuser:
profileList:
scheduler_name: default-scheduler
extra_annotations:
tf-version.cloud-tpus.google.com: "pytorch-1.11"
extra_resource_limits:
cloud-tpus.google.com/v2: 8
它没有记录在案,但您需要使用“default-scheduler”,因为 GKE 需要它来生成 TPU 实例。
此处的其他文档:
https://cloud.google.com/tpu/docs/kubernetes-engine-setup#job-spec
https://jupyterhub-kubespawner.readthedocs.io/en/latest/spawner.html
我正在从 colab 中的 运行 个 TPU 切换到 Google 云中的 运行 个 TPU。我习惯 运行 在 colab jupyter notebook 中训练,但是根据 GCP TPU 快速入门指南,我需要使用 shell 脚本,并将我的代码转换为脚本。
https://cloud.google.com/tpu/docs/quickstart
有没有办法打开我的 GCP VM 的 Jupyter notebook 版本?
是的,您在 GCP VM 上打开并 运行 Jupyter notebook。必须有其他方法可以做到这一点,但这是我遵循并为我工作的方法 -
第 1 阶段 - 确保您已设置 GCP 项目并在支持 TPU 的区域中设置 VM 实例。对于我的,我使用了 us-central1-f.
第 2 阶段 - 确保您的 VM(计算引擎)、Cloud TPU 和 Cloud Storage 都已根据此处提供的说明进行设置和链接 - https://cloud.google.com/tpu/docs/quickstart
第 3 阶段 - 对于 VM,您需要通过以下方式启用防火墙设置
- Name:
- Targets: All instances in the network
- Source IP ranges: 0.0.0.0/0
- Protocols and ports: Select “Specified protocols and ports” option.
- tcp: 8888 Keep other configuration as default.
第 4 阶段 - 您需要安装以下内容:
- Anaconda
wget https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh
bash Anaconda3-4.2.0-Linux-x86_64.sh
- Tensorflow, Keras and any other libraries you need
source ~/.bashrc
pip install tensorflow
pip install keras
第 5 阶段 - 确保设置 Jupyter 配置
$ jupyter notebook --generate-config
$ nano ~/.jupyter/jupyter_notebook_config.py # I use nano editor
Drop these four lines at the top of this config file and save
c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888
就是这样。你只需要 运行
$ jupyter notebook
然后在浏览器中输入 http://your_external_IP:8888
如果您在 GKE 上使用 JupyterHub 的 helm 图表,您似乎也可以使用 JupyterHub 的配置文件。确保为 kubeSpawner 设置设置正确的覆盖:
singleuser:
profileList:
scheduler_name: default-scheduler
extra_annotations:
tf-version.cloud-tpus.google.com: "pytorch-1.11"
extra_resource_limits:
cloud-tpus.google.com/v2: 8
它没有记录在案,但您需要使用“default-scheduler”,因为 GKE 需要它来生成 TPU 实例。
此处的其他文档:
https://cloud.google.com/tpu/docs/kubernetes-engine-setup#job-spec
https://jupyterhub-kubespawner.readthedocs.io/en/latest/spawner.html