当前位置: 首页 > news >正文

PyTorch核心基础知识点(一)

一、基础工具与安装

  1. Python两大法宝函数
    • dir():快速查看模块结构,例如dir(torch)可查看PyTorch所有子模块
    • help():获取函数/类的详细说明,如help(torch.cuda.is_available)查看GPU检测方法
   import torch
   print(dir(torch.optim))  # 查看优化器模块
  1. 安装PyTorch
    • CPU版本pip install torch torchvision
    • GPU版本:需额外安装CUDA驱动,官网生成对应命令
    • 验证安装:print(torch.__version__)torch.cuda.is_available()

二、核心数据结构:Tensor

  1. Tensor特性
    • 类似NumPy数组但支持GPU加速
    • 创建方式:torch.tensor(), torch.randn(), torch.zeros()
   x = torch.rand(2,3)  # 创建2x3随机张量
  1. Tensor操作
    • 索引/切片:x[0,:]
    • 形状变换:x.view(3,2)x.reshape(3,2)
    • 设备切换:x.to ('cuda')实现GPU计算

三、数据处理与可视化

  1. Dataset与DataLoader
    • 自定义数据集需实现__len____getitem__
   from torch.utils.data import Dataset
   class MyDataset(Dataset):
       def __getitem__(self, index): 
           # 返回单条数据
  1. TensorBoard可视化
    • 安装:pip install tensorboard
    • 基础使用:
     writer = SummaryWriter('logs')
     writer.add_scalar('Loss', loss, epoch)  # 记录标量
     writer.add_image('Input', img_tensor)   # 记录图像[[3,7,10]]
  • 启动服务:tensorboard --logdir=logs --port=6006
  1. Transforms数据增强
    • 将PIL图像转为Tensor并进行归一化:
     transform = transforms.Compose([
         transforms.Resize(256),
         transforms.ToTensor()  # 范围[0,1][[4,5]]
     ])

四、神经网络搭建

  1. 模型定义
    • 继承nn.Module并实现forward方法
   class Net(nn.Module):
       def __init__(self):
           super().__init__()
           self.fc = nn.Linear(784, 10)
       def forward(self, x):
           return self.fc(x)
  1. 训练流程
   optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
   criterion = nn.CrossEntropyLoss()
   
   for epoch in range(10):
       output = model(input)
       loss = criterion(output, target)
       optimizer.zero_grad()
       loss.backward()
       optimizer.step()  # 参数更新[[4,12,16]]

五、实战建议

  1. 学习路径

    • 先掌握Python基础,再学习Tensor操作 → 数据加载 → 模型构建 → 训练优化
    • 官方教程:https://pytorch.org/tutorials/
  2. 常见问题

    • GPU不可用:检查CUDA版本与PyTorch是否匹配
    • 维度错误:使用tensor.shape检查维度,unsqueeze()/squeeze()调整

通过结合官方文档与实战项目(如FashionMNIST分类),可快速提升PyTorch应用能力。建议在学习过程中多用print()和TensorBoard观察中间结果,加深对计算图的理解。

相关文章:

  • numpy学习笔记9:numpy的广播机制详细解释
  • 吴恩达机器学习笔记复盘(九)逻辑回归模型概述
  • 人工智能 - 在 Spring Boot 中调用 AnythingLLM+DeepSeek 的知识库获取消息接口
  • 大模型开发(六):LoRA项目——新媒体评论智能分类与信息抽取系统
  • 『 C++ 』多线程同步:条件变量及其接口的应用实践
  • 17.Linux蓝牙串口相关协议与使用步骤
  • GGUF 和 llama.cpp 是什么关系
  • 【记一次】AI微调训练步数计算方式
  • 在使用 RabbitMQ 时,手动确认消息和死信队列
  • 告别命令行,我用图形界面畅玩 DeepSeek-R1 1.5B
  • Redis为什么用跳表实现有序集合?
  • 深入解析 Uniswap:自动做市商模型的数学推导与智能合约架构
  • vue有几个版本
  • 【IDEA】IDEA常用快捷键(适应包括xml所有类型文件)
  • Redis 知识点梳理
  • 宠物AI识别技术颠覆自助洗宠场景,解决4大难题
  • systemd-networkd 的 /etc/systemd/network/*.network 的配置属性名称是不是严格区分大小写?是
  • 设计模式之装饰器模式
  • 项目日记 -云备份 -服务器配置信息模块
  • 区块链项目价值跃迁:从技术叙事到资本共振的包装艺术
  • 重庆党政代表团在沪考察,陈吉宁龚正与袁家军胡衡华共商两地深化合作工作
  • 2024年上市公司合计实现营业收入71.98万亿元
  • 乡村快递取件“跑腿费”屡禁不止?云南元江县公布举报电话
  • 顾家家居:拟定增募资近20亿元,用于家居产品生产线的改造和扩建等
  • 如此城市|上海老邬:《爱情神话》就是我生活的一部分
  • 商务部再回应中美经贸高层会谈:美方要拿出诚意、拿出行动