PyTorch 2.9 镜像部署全攻略:Jupyter和SSH两种方式任你选
PyTorch 2.9 镜像部署全攻略Jupyter和SSH两种方式任你选1. PyTorch 2.9 镜像概述PyTorch 2.9 是一个开源的 Python 机器学习库基于 Torch 库开发底层由 C 实现广泛应用于人工智能领域特别是计算机视觉和自然语言处理方向。这个预构建的镜像已经包含了完整的 PyTorch 2.9 环境和 CUDA 工具包能够直接调用 GPU 加速模型训练和推理。该镜像的主要特点包括开箱即用的深度学习环境预装 PyTorch 和 CUDA 工具包适配主流 NVIDIA 显卡支持多卡并行计算从实验到部署无缝衔接2. 环境准备2.1 硬件要求在开始部署之前请确保您的系统满足以下硬件要求NVIDIA 显卡推荐 RTX 20 系列及以上至少 8GB 显存用于大多数深度学习任务16GB 以上系统内存50GB 以上可用磁盘空间2.2 软件要求Docker 20.10 或更高版本NVIDIA Container Toolkit最新的 NVIDIA 显卡驱动推荐 535 或更高版本您可以通过以下命令检查 NVIDIA 驱动是否已正确安装nvidia-smi如果看到类似如下的输出说明驱动已正确安装----------------------------------------------------------------------------- | NVIDIA-SMI 535.86.05 Driver Version: 535.86.05 CUDA Version: 12.2 | |--------------------------------------------------------------------------- | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | || | 0 NVIDIA GeForce ... On | 00000000:01:00.0 On | N/A | | 30% 45C P8 15W / 250W | 1234MiB / 12288MiB | 0% Default | | | | N/A | ---------------------------------------------------------------------------3. 镜像部署方法3.1 拉取 PyTorch 2.9 镜像首先我们需要从镜像仓库拉取 PyTorch 2.9 镜像。执行以下命令docker pull pytorch/pytorch:2.9.0-cuda12.1-cudnn8-runtime这个命令会下载预构建的 PyTorch 2.9 镜像其中包含了Python 3.10PyTorch 2.9.0带 cu121 标记CUDA 12.1 RuntimecuDNN 8已启用 GPU 支持3.2 验证镜像镜像下载完成后我们可以运行一个简单的测试容器来验证环境是否正常工作docker run --gpus all -it --rm pytorch/pytorch:2.9.0-cuda12.1-cudnn8-runtime python -c import torch; print(fPyTorch版本: {torch.__version__}); print(fCUDA可用: {torch.cuda.is_available()})如果一切正常您应该看到类似如下的输出PyTorch版本: 2.9.0cu121 CUDA可用: True4. Jupyter Notebook 使用方式Jupyter Notebook 是数据科学家和机器学习工程师最常用的交互式开发环境之一。PyTorch 2.9 镜像已经预装了 Jupyter可以快速启动使用。4.1 启动 Jupyter Notebook 容器使用以下命令启动一个带有 Jupyter Notebook 的容器docker run -d --gpus all \ -p 8888:8888 \ -v $(pwd)/workspace:/workspace \ --name pytorch-jupyter \ pytorch/pytorch:2.9.0-cuda12.1-cudnn8-runtime \ jupyter notebook --ip0.0.0.0 --port8888 --allow-root --no-browser参数说明-d: 后台运行容器--gpus all: 启用所有 GPU-p 8888:8888: 将容器的 8888 端口映射到主机的 8888 端口-v $(pwd)/workspace:/workspace: 将当前目录下的 workspace 文件夹挂载到容器的 /workspace 目录--name pytorch-jupyter: 为容器指定一个名称4.2 访问 Jupyter Notebook容器启动后您可以通过以下步骤访问 Jupyter Notebook查看容器日志获取访问令牌docker logs pytorch-jupyter在输出中查找类似如下的行http://127.0.0.1:8888/?tokenabcdef1234567890abcdef1234567890abcdef1234567890在浏览器中打开http://localhost:8888输入上一步获取的 token您现在可以在 Jupyter Notebook 中编写和运行 PyTorch 代码了4.3 示例代码在 Jupyter Notebook 中您可以尝试运行以下简单的 PyTorch 代码来验证 GPU 是否正常工作import torch # 检查 PyTorch 版本和 CUDA 可用性 print(fPyTorch 版本: {torch.__version__}) print(fCUDA 可用: {torch.cuda.is_available()}) # 如果有可用的 GPU打印 GPU 信息 if torch.cuda.is_available(): print(fGPU 数量: {torch.cuda.device_count()}) print(f当前 GPU: {torch.cuda.current_device()}) print(fGPU 名称: {torch.cuda.get_device_name(0)}) # 创建一个简单的张量并移动到 GPU x torch.randn(3, 3).cuda() print(f张量 x 在: {x.device})5. SSH 使用方式对于需要更完整开发环境的用户可以通过 SSH 连接到容器内部使用您喜欢的 IDE 进行开发。5.1 启动支持 SSH 的容器首先我们需要创建一个支持 SSH 的容器。创建一个新的 DockerfileFROM pytorch/pytorch:2.9.0-cuda12.1-cudnn8-runtime # 安装 SSH 服务器和必要的工具 RUN apt-get update apt-get install -y \ openssh-server \ sudo \ nano \ rm -rf /var/lib/apt/lists/* # 设置 root 密码为 password生产环境请使用更安全的密码 RUN echo root:password | chpasswd # 允许 root 登录仅用于演示生产环境应创建普通用户 RUN sed -i s/#PermitRootLogin prohibit-password/PermitRootLogin yes/ /etc/ssh/sshd_config # SSH 登录修复 RUN mkdir /var/run/sshd # 暴露 SSH 端口 EXPOSE 22 # 启动 SSH 服务 CMD [/usr/sbin/sshd, -D]构建镜像docker build -t pytorch-ssh .启动容器docker run -d --gpus all \ -p 2222:22 \ -v $(pwd)/workspace:/workspace \ --name pytorch-ssh \ pytorch-ssh5.2 通过 SSH 连接容器现在您可以通过 SSH 连接到容器ssh rootlocalhost -p 2222当提示输入密码时输入 password这是我们在 Dockerfile 中设置的密码。5.3 使用 VS Code 远程开发如果您使用 VS Code可以安装 Remote - SSH 扩展然后按照以下步骤连接按 F1 打开命令面板输入 Remote-SSH: Connect to Host...选择 Add New SSH Host...输入ssh rootlocalhost -p 2222按照提示输入密码 password连接成功后您就可以在 VS Code 中直接编辑容器内的文件并使用完整的 PyTorch 开发环境。6. 镜像使用技巧与最佳实践6.1 数据持久化为了确保您的工作不会丢失建议使用 Docker 卷或绑定挂载来持久化数据docker run -d --gpus all \ -p 8888:8888 \ -v /path/to/your/data:/data \ -v /path/to/your/code:/code \ --name pytorch-container \ pytorch/pytorch:2.9.0-cuda12.1-cudnn8-runtime6.2 多 GPU 使用如果您有多个 GPU可以通过以下方式指定使用的 GPUdocker run -d --gpus device0,1 \ -p 8888:8888 \ --name pytorch-multi-gpu \ pytorch/pytorch:2.9.0-cuda12.1-cudnn8-runtime在代码中您可以使用torch.nn.DataParallel或torch.nn.parallel.DistributedDataParallel来利用多个 GPUimport torch import torch.nn as nn model nn.Sequential( nn.Linear(10, 20), nn.ReLU(), nn.Linear(20, 1) ) if torch.cuda.device_count() 1: print(f使用 {torch.cuda.device_count()} 个 GPU) model nn.DataParallel(model) model model.cuda()6.3 性能优化PyTorch 2.9 引入了torch.compile()功能可以显著提高模型性能model MyModel().cuda() compiled_model torch.compile(model) # 启用默认后端 # 训练或推理 output compiled_model(input_data)7. 总结通过本文我们详细介绍了 PyTorch 2.9 镜像的两种主要使用方式Jupyter Notebook 和 SSH。这两种方式各有优势Jupyter Notebook适合快速原型设计、数据探索和教学演示SSH适合长期开发项目可以与您喜欢的 IDE 集成无论您选择哪种方式PyTorch 2.9 镜像都提供了一个稳定、高效的开发环境让您可以专注于模型开发而不是环境配置。最后记住几个关键点始终使用数据持久化来保护您的工作根据您的硬件配置调整 GPU 使用利用 PyTorch 2.9 的新特性如torch.compile()来提升性能在生产环境中考虑创建自定义用户而不是使用 root获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2495191.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!