基于 CNB 的自定义 PyTorch 深度学习开发环境,使用 uv 作为包管理器,支持 CPU 和 GPU 云端开发环境配置。
我的云原生开发 列表页进入。. ├── .cnb.yml # CNB 配置入口 ├── .cnb/ │ ├── python-env # Python 基础环境 Dockerfile │ ├── pytorch-env # PyTorch 环境 Dockerfile │ ├── web_trigger.yml # 云开发按钮触发配置 │ └── scripts/ │ ├── prepare_python_env.sh # Python 基础环境准备脚本 │ ├── prepare_pytorch_env.sh # PyTorch 环境准备脚本 │ ├── check_params.sh # 参数检查脚本 │ ├── create_languagepacks.sh # 中文语言包配置脚本 │ └── add_vscode_config.sh # 插件和窗口配置脚本 ├── pyproject.toml # uv 项目配置文件(含 PyTorch 依赖) ├── main.py # PyTorch 环境测试入口 ├── .gitignore └── README.md
镜像不存在时流水线会自动触发构建,并推送到制品库。
# 构建 Python 基础环境镜像
docker build -f .cnb/python-env -t ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}/python-env:latest .
# 推送 Python 基础环境镜像
docker push ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}/python-env:latest
# 构建 PyTorch CPU 环境镜像
docker build --build-arg USE_GPU=false \
--build-arg PYTHON_ENV_IMAGE=${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}/python-env:latest \
-f .cnb/pytorch-env \
-t ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}/pytorch-env-amd:latest .
# 构建 PyTorch GPU 环境镜像
docker build --build-arg USE_GPU=true \
--build-arg PYTHON_ENV_IMAGE=${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}/python-env:latest \
-f .cnb/pytorch-env \
-t ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}/pytorch-env-gpu:latest .
# 推送镜像
docker push ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}/pytorch-env-amd:latest
docker push ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}/pytorch-env-gpu:latest
在 CNB 仓库页面点击「远橙开发」按钮,可自定义:
流水线会根据节点类型自动选择:
pytorch-env-gpu 镜像,安装 GPU 版本 PyTorch(CUDA 13.0)pytorch-env-amd 镜像,安装 CPU 版本 PyTorch/opt/uv-envs/venv/bin/pythonUV_PROJECT_ENVIRONMENT 环境变量UV_INDEX_STRATEGY="unsafe-first-match" ,优先选择第一个具有兼容版本的索引uv sync --extra dev-cpu 未能正确编译依赖,需使用 uv pip install 安装pyproject.toml 中配置了可选依赖分组:
cpu: CPU 版本 PyTorch(torch==2.10.0)cu130: GPU 版本 PyTorch(CUDA 13.0,torch==2.10.0)info: 可选工具(tensorboard、setuptools)dev-cpu: CPU 开发环境(包含 cpu + info)dev-gpu: GPU 开发环境(包含 cu130 + info)# 按 pyproject.toml 中的可选依赖组(根据环境选择,镜像已自动安装)
uv pip install --extra dev-cpu --requirements pyproject.toml # CPU 环境
uv pip install --extra dev-gpu --requirements pyproject.toml # GPU 环境
# 安装单个包
uv pip install <package>
.cnb/scripts/create_languagepacks.sh 脚本生成中文语言包配置.cnb/scripts/add_vscode_config.sh 添加插件配置到工作区 settings.json ,因为用户配置会被漫游覆盖,可自行添加到用户配置进行漫游后取消相关代码。运行 main.py 测试 PyTorch 环境是否正常:
python main.py
该脚本会输出: