google-cloud-platform - 通过 Vertex AI 用户管理笔记本中的启动后脚本创建自定义内核

标签 google-cloud-platform jupyter-lab google-cloud-vertex-ai gcp-ai-platform-notebook

我正在尝试使用启动后脚本创建一个 Vertex AI 用户管理笔记本,其 Jupyter Lab 在首次启动时有一个专用的虚拟环境和相应的计算内核。我已成功创建实例,然后作为 Jupyter Lab > Terminal 中的第二个手动步骤,运行 bash 脚本,如下所示:

#!/bin/bash
cd /home/jupyter
mkdir -p env
cd env
python3 -m venv envName --system-site-packages
source envName/bin/activate
envName/bin/python3 -m pip install --upgrade pip
python -m ipykernel install --user --name=envName
pip3 install geemap --user 
pip3 install earthengine-api --user 
pip3 install ipyleaflet --user 
pip3 install folium --user 
pip3 install voila --user 
pip3 install jupyterlab_widgets
deactivate
jupyter labextension install --no-build @jupyter-widgets/jupyterlab-manager jupyter-leaflet
jupyter lab build --dev-build=False --minimize=False
jupyter labextension enable @jupyter-widgets/jupyterlab-manager

但是,我还没有幸运地使用此代码作为启动后脚本(到目前为止是通过控制台创建工具提供的,而不是命令行提供的)。当我打开Jupyter Lab并查看相关结构时,我发现没有环境或内核。有人可以提供一个实现我的目标的工作示例,或者以其他方式描述人们将遵循的构建步骤的顺序吗?

最佳答案

启动后脚本以 root 身份运行。 当你运行时:

python -m ipykernel install --user --name=envName

笔记本使用当前用户(root)与使用终端(以 jupyter 用户身份运行)时的情况不同。

选项 1)有 2 个脚本:

  • 脚本 A。原帖中指定的内容。示例:gs://newsml-us-central1/so73649262.sh
  • 脚本 B。下载脚本并将其作为 jupyter 执行。示例:gs://newsml-us-central1/so1.sh 并将其用作启动后脚本。
#!/bin/bash

set -x

gsutil cp gs://newsml-us-central1/so73649262.sh /home/jupyter
chown jupyter /home/jupyter/so73649262.sh
chmod a+x /home/jupyter/so73649262.sh
su -c '/home/jupyter/so73649262.sh' jupyter

选项 2) 使用 EOF 在 bash 中创建文件。将内容写入单个文件并如上所述执行。

关于google-cloud-platform - 通过 Vertex AI 用户管理笔记本中的启动后脚本创建自定义内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73649262/

相关文章:

ssh - 无法使用GCloud Compute访问VM

google-app-engine - 将 ASP.NET Core 2.1 应用部署到 Google Cloud App Engine 错误 : bad character range

jupyter-notebook - 构建失败 500,请在服务器上运行 'jupyter lab build' 以获得 Jupyter 实验室的完整输出

jupyter-lab - 谷歌云AI笔记本保存不起作用

google-cloud-platform - 为什么我会收到 AttributeError : module 'google_cloud_pipeline_components.aiplatform' has no attribute 'EndpointDeleteOp' in GCP?

flask - 顶点ai中的自定义容器部署

python-3.x - 使用 Python API 将正文添加到云调度程序请求

sql - 如何按行对项目进行分组

jupyter-notebook - 列出 jupyter 实验室的运行实例

docker - 从 GCP Vertex AI Workbench 中的托管笔记本单元运行 !docker build