深度学习入门不求人PyTorch 2.5 镜像Jupyter新手友好开发环境搭建1. 为什么选择PyTorch 2.5镜像PyTorch作为当前最流行的深度学习框架之一以其动态计算图和Python优先的设计理念赢得了广大开发者的青睐。但对于初学者来说环境配置往往是最令人头疼的第一步。PyTorch 2.5镜像解决了这个痛点它预装了PyTorch 2.5最新稳定版CUDA工具包支持GPU加速Jupyter Notebook开发环境常用数据科学库NumPy、Matplotlib等这个开箱即用的环境让你可以跳过繁琐的安装配置过程直接开始深度学习之旅。特别适合刚接触深度学习的新手需要快速搭建实验环境的研究人员想专注于模型开发而非环境配置的工程师2. 快速部署PyTorch 2.5开发环境2.1 获取镜像并启动容器首先你需要确保系统已经安装了Docker。然后执行以下命令拉取并运行PyTorch 2.5镜像docker run -it --gpus all -p 8888:8888 -p 22:22 \ -v /path/to/your/code:/workspace \ csdn/pytorch:2.5参数说明--gpus all启用所有可用的GPU-p 8888:8888映射Jupyter Notebook端口-p 22:22映射SSH端口-v /path/to/your/code:/workspace挂载本地代码目录2.2 访问Jupyter Notebook容器启动后你会在终端看到类似如下的输出[I 2023-12-01 10:00:00.000 NotebookApp] Serving notebooks from local directory: /workspace [I 2023-12-01 10:00:00.000 NotebookApp] Jupyter Notebook 6.5.2 is running at: [I 2023-12-01 10:00:00.000 NotebookApp] http://localhost:8888/?tokenYOUR_TOKEN复制这个URL到浏览器即可访问Jupyter Notebook。首次登录需要输入终端显示的安全令牌。3. PyTorch基础快速上手3.1 创建你的第一个张量在Jupyter Notebook中新建一个Python 3笔记本尝试以下代码import torch # 创建一个3x3的随机张量 x torch.rand(3, 3) print(x) # 检查是否使用了GPU print(f是否使用GPU: {x.is_cuda})如果一切正常你会看到一个3x3的随机矩阵并确认GPU是否可用。3.2 简单的自动微分示例PyTorch的核心特性之一是自动微分。让我们通过一个简单例子来理解# 创建一个需要计算梯度的张量 x torch.tensor(2.0, requires_gradTrue) # 定义一个简单的函数 y x^2 3x y x**2 3*x # 计算梯度 y.backward() # 打印梯度值 print(f在x2处的导数是: {x.grad})这个例子展示了PyTorch如何自动计算导数这是训练神经网络的基础。4. 构建你的第一个神经网络4.1 定义网络结构让我们构建一个简单的全连接网络来处理MNIST手写数字识别import torch.nn as nn import torch.nn.functional as F class SimpleNet(nn.Module): def __init__(self): super(SimpleNet, self).__init__() self.fc1 nn.Linear(28*28, 128) # 输入层到隐藏层 self.fc2 nn.Linear(128, 64) # 隐藏层到隐藏层 self.fc3 nn.Linear(64, 10) # 隐藏层到输出层 def forward(self, x): x x.view(-1, 28*28) # 展平输入图像 x F.relu(self.fc1(x)) x F.relu(self.fc2(x)) x self.fc3(x) return x model SimpleNet() print(model)4.2 加载数据集PyTorch提供了便捷的数据集加载工具from torchvision import datasets, transforms # 定义数据转换 transform transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,)) ]) # 加载训练集和测试集 train_dataset datasets.MNIST(./data, trainTrue, downloadTrue, transformtransform) test_dataset datasets.MNIST(./data, trainFalse, transformtransform) # 创建数据加载器 train_loader torch.utils.data.DataLoader(train_dataset, batch_size64, shuffleTrue) test_loader torch.utils.data.DataLoader(test_dataset, batch_size1000, shuffleTrue)5. 训练与评估模型5.1 训练循环现在我们可以开始训练我们的模型了import torch.optim as optim # 定义损失函数和优化器 criterion nn.CrossEntropyLoss() optimizer optim.SGD(model.parameters(), lr0.01, momentum0.9) # 训练函数 def train(epoch): model.train() for batch_idx, (data, target) in enumerate(train_loader): optimizer.zero_grad() output model(data) loss criterion(output, target) loss.backward() optimizer.step() if batch_idx % 100 0: print(fTrain Epoch: {epoch} [{batch_idx * len(data)}/{len(train_loader.dataset)} f ({100. * batch_idx / len(train_loader):.0f}%)]\tLoss: {loss.item():.6f}) # 训练5个epoch for epoch in range(1, 6): train(epoch)5.2 模型评估训练完成后我们需要评估模型在测试集上的表现def test(): model.eval() test_loss 0 correct 0 with torch.no_grad(): for data, target in test_loader: output model(data) test_loss criterion(output, target).item() pred output.argmax(dim1, keepdimTrue) correct pred.eq(target.view_as(pred)).sum().item() test_loss / len(test_loader.dataset) accuracy 100. * correct / len(test_loader.dataset) print(f\nTest set: Average loss: {test_loss:.4f}, Accuracy: {correct}/{len(test_loader.dataset)} f ({accuracy:.0f}%)\n) test()6. 进阶使用技巧6.1 使用GPU加速如果你的系统有NVIDIA GPU可以轻松地将模型和数据转移到GPU上device torch.device(cuda if torch.cuda.is_available() else cpu) model SimpleNet().to(device) # 在训练循环中记得将数据也转移到GPU data, target data.to(device), target.to(device)6.2 保存和加载模型训练好的模型可以保存下来供以后使用# 保存模型 torch.save(model.state_dict(), mnist_model.pth) # 加载模型 loaded_model SimpleNet() loaded_model.load_state_dict(torch.load(mnist_model.pth)) loaded_model.eval()7. 总结通过PyTorch 2.5镜像我们快速搭建了一个完整的深度学习开发环境并完成了一个简单但完整的神经网络训练流程。这个环境提供了一键式部署无需繁琐的环境配置GPU加速支持开箱即用的CUDA环境交互式开发Jupyter Notebook的便利性完整工具链从数据处理到模型训练的全套工具对于想要继续深入学习的朋友建议尝试不同的网络结构和超参数探索更复杂的数据集和任务学习使用PyTorch Lightning等高级框架参与开源项目或Kaggle比赛实践获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。
深度学习入门不求人:PyTorch 2.5 镜像+Jupyter,新手友好开发环境搭建
发布时间:2026/5/17 15:25:04
深度学习入门不求人PyTorch 2.5 镜像Jupyter新手友好开发环境搭建1. 为什么选择PyTorch 2.5镜像PyTorch作为当前最流行的深度学习框架之一以其动态计算图和Python优先的设计理念赢得了广大开发者的青睐。但对于初学者来说环境配置往往是最令人头疼的第一步。PyTorch 2.5镜像解决了这个痛点它预装了PyTorch 2.5最新稳定版CUDA工具包支持GPU加速Jupyter Notebook开发环境常用数据科学库NumPy、Matplotlib等这个开箱即用的环境让你可以跳过繁琐的安装配置过程直接开始深度学习之旅。特别适合刚接触深度学习的新手需要快速搭建实验环境的研究人员想专注于模型开发而非环境配置的工程师2. 快速部署PyTorch 2.5开发环境2.1 获取镜像并启动容器首先你需要确保系统已经安装了Docker。然后执行以下命令拉取并运行PyTorch 2.5镜像docker run -it --gpus all -p 8888:8888 -p 22:22 \ -v /path/to/your/code:/workspace \ csdn/pytorch:2.5参数说明--gpus all启用所有可用的GPU-p 8888:8888映射Jupyter Notebook端口-p 22:22映射SSH端口-v /path/to/your/code:/workspace挂载本地代码目录2.2 访问Jupyter Notebook容器启动后你会在终端看到类似如下的输出[I 2023-12-01 10:00:00.000 NotebookApp] Serving notebooks from local directory: /workspace [I 2023-12-01 10:00:00.000 NotebookApp] Jupyter Notebook 6.5.2 is running at: [I 2023-12-01 10:00:00.000 NotebookApp] http://localhost:8888/?tokenYOUR_TOKEN复制这个URL到浏览器即可访问Jupyter Notebook。首次登录需要输入终端显示的安全令牌。3. PyTorch基础快速上手3.1 创建你的第一个张量在Jupyter Notebook中新建一个Python 3笔记本尝试以下代码import torch # 创建一个3x3的随机张量 x torch.rand(3, 3) print(x) # 检查是否使用了GPU print(f是否使用GPU: {x.is_cuda})如果一切正常你会看到一个3x3的随机矩阵并确认GPU是否可用。3.2 简单的自动微分示例PyTorch的核心特性之一是自动微分。让我们通过一个简单例子来理解# 创建一个需要计算梯度的张量 x torch.tensor(2.0, requires_gradTrue) # 定义一个简单的函数 y x^2 3x y x**2 3*x # 计算梯度 y.backward() # 打印梯度值 print(f在x2处的导数是: {x.grad})这个例子展示了PyTorch如何自动计算导数这是训练神经网络的基础。4. 构建你的第一个神经网络4.1 定义网络结构让我们构建一个简单的全连接网络来处理MNIST手写数字识别import torch.nn as nn import torch.nn.functional as F class SimpleNet(nn.Module): def __init__(self): super(SimpleNet, self).__init__() self.fc1 nn.Linear(28*28, 128) # 输入层到隐藏层 self.fc2 nn.Linear(128, 64) # 隐藏层到隐藏层 self.fc3 nn.Linear(64, 10) # 隐藏层到输出层 def forward(self, x): x x.view(-1, 28*28) # 展平输入图像 x F.relu(self.fc1(x)) x F.relu(self.fc2(x)) x self.fc3(x) return x model SimpleNet() print(model)4.2 加载数据集PyTorch提供了便捷的数据集加载工具from torchvision import datasets, transforms # 定义数据转换 transform transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,)) ]) # 加载训练集和测试集 train_dataset datasets.MNIST(./data, trainTrue, downloadTrue, transformtransform) test_dataset datasets.MNIST(./data, trainFalse, transformtransform) # 创建数据加载器 train_loader torch.utils.data.DataLoader(train_dataset, batch_size64, shuffleTrue) test_loader torch.utils.data.DataLoader(test_dataset, batch_size1000, shuffleTrue)5. 训练与评估模型5.1 训练循环现在我们可以开始训练我们的模型了import torch.optim as optim # 定义损失函数和优化器 criterion nn.CrossEntropyLoss() optimizer optim.SGD(model.parameters(), lr0.01, momentum0.9) # 训练函数 def train(epoch): model.train() for batch_idx, (data, target) in enumerate(train_loader): optimizer.zero_grad() output model(data) loss criterion(output, target) loss.backward() optimizer.step() if batch_idx % 100 0: print(fTrain Epoch: {epoch} [{batch_idx * len(data)}/{len(train_loader.dataset)} f ({100. * batch_idx / len(train_loader):.0f}%)]\tLoss: {loss.item():.6f}) # 训练5个epoch for epoch in range(1, 6): train(epoch)5.2 模型评估训练完成后我们需要评估模型在测试集上的表现def test(): model.eval() test_loss 0 correct 0 with torch.no_grad(): for data, target in test_loader: output model(data) test_loss criterion(output, target).item() pred output.argmax(dim1, keepdimTrue) correct pred.eq(target.view_as(pred)).sum().item() test_loss / len(test_loader.dataset) accuracy 100. * correct / len(test_loader.dataset) print(f\nTest set: Average loss: {test_loss:.4f}, Accuracy: {correct}/{len(test_loader.dataset)} f ({accuracy:.0f}%)\n) test()6. 进阶使用技巧6.1 使用GPU加速如果你的系统有NVIDIA GPU可以轻松地将模型和数据转移到GPU上device torch.device(cuda if torch.cuda.is_available() else cpu) model SimpleNet().to(device) # 在训练循环中记得将数据也转移到GPU data, target data.to(device), target.to(device)6.2 保存和加载模型训练好的模型可以保存下来供以后使用# 保存模型 torch.save(model.state_dict(), mnist_model.pth) # 加载模型 loaded_model SimpleNet() loaded_model.load_state_dict(torch.load(mnist_model.pth)) loaded_model.eval()7. 总结通过PyTorch 2.5镜像我们快速搭建了一个完整的深度学习开发环境并完成了一个简单但完整的神经网络训练流程。这个环境提供了一键式部署无需繁琐的环境配置GPU加速支持开箱即用的CUDA环境交互式开发Jupyter Notebook的便利性完整工具链从数据处理到模型训练的全套工具对于想要继续深入学习的朋友建议尝试不同的网络结构和超参数探索更复杂的数据集和任务学习使用PyTorch Lightning等高级框架参与开源项目或Kaggle比赛实践获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。