type
Post
status
Published
date
Jun 19, 2025
slug
pytorch
summary
收录Pytorch基本知识及使用
tags
推荐
技术
category
技术分享
icon
password
comment
Show
每个部分都是参考b站小土堆写的,我觉着这个up主讲的蛮好的,手把手教学,b站点击量也很高,适合入门~ 感觉pytorch中文文档删减好多内容,好多还是得对照原版: 官方pytorch参考英文文档:https://pytorch.org/docs/stable/index.html 官方pytorch参考中文文档:https://pytorch-cn.readthedocs.io/zh/latest/ 2024.11.17 完结撒花~完成了一周速通pytorch基础的工作,接下来就上手实战了!
写在最前面:
如果不知道某个数据的数据类型,可以选择使用
print(type()) 来打印一下数据的数据类型,这样应该可以快速debug~Pytorch工具学习一、pytorch常识Part 1:环境配置1. 安装anaconda2. pytorch安装(在你想要安装pytorch的虚拟环境下)Part 2:好用的python命令1. dir()2. help()3. 章节总结Part 3:Dataset类的使用1. 不区分标签文件夹代码示例2. 用txt文件存储标签代码示例(包含split用法)Part 4:Tensorboard使用SummaryWriter类的使用Part 5:Transforms的使用1. transforms.Compose2. transforms.Resize3. transforms.CenterCrop 和 transforms.RandomCrop4. transforms.ToTensor5. transforms.Normalize6. transforms.RandomHorizontalFlip 和 transforms.RandomVerticalFlip7. transforms.RandomRotation
Pytorch工具学习
一、pytorch常识
Part 1:环境配置
1. 安装anaconda
- anaconda安装地址如下,根据自己的操作系统下载对应版本即可
- 安装成功以后打开Anaconda Prompt可以看到命令行最前方出现
(base)证明成功
2. pytorch安装(在你想要安装pytorch的虚拟环境下)
- pytorch安装地址:https://pytorch.org/
- 选择你适合的版本,博主本人是mac没法用gpu所以cuda就全部失效,只能用default了
- 尽量选择stable版本,这样比较稳定。如果你是windows或者linux就需要去检查你的gpu型号,可以采用在命令行输入命令:
nvidia-smi来查看你的gpu型号,然后查看cuda支持的gpu型号,选择好以后复制在Run this Command一栏后方的命令,上图显示的是pip3 install torch torchvision torchaudio,这个命令每个人操作系统型号不同因此命令不同。 - 如果没有独立显卡或者不支持你的gpu,那么在Compute Platform就选择None
- 复制到命令行,在虚拟环境中(即看一下命令行前面是base还是你的环境名称,如果是base就conda activate一下)执行即可

- 更多有关环境配置问题可以自行上网查找,此处不再赘述
Part 2:好用的python命令
1. dir()
dir()是查看某个包的内容以及某个类的内容的命令
- 在命令行中:
2. help()
help()是查看某个函数的使用方法
- 在命令行中:
3. 章节总结
- python文件中想要执行上面的内容,就需要借助print
Part 3:Dataset类的使用
1. 不区分标签文件夹代码示例
2. 用txt文件存储标签代码示例(包含split用法)
Part 4:Tensorboard使用
SummaryWriter类的使用
- 这一部分主要有两个核心函数,一个是
add_image(),一个是add_scalar(),接下来分别介绍两个函数的用法
add_scalar()函数- 运行完上面程序后,然后会发现在对应目录文件夹下出现一个logs文件夹,里面有一个文件是你无法直接打开的,下面介绍如何打开这个文件在终端中,进入logs的上一级文件夹,比如该项目中就对应Part3 ,随后执行
tensorboard --logdir logs - 如果报错可能有以下几种解决办法:
- 先看一下主机名是不是含有汉字了
- 如果没有可以尝试
pip install --upgrade tensorboard更新一下版本 - 将命令中的logs改为绝对路径,具体方法自行百度即可
- 还可以指定打开的端口,比如:
tensorboard --logdir logs --port 6007 - 这里注意,现在显示的是页面中有两幅图,
y = xy = 2x,如果不更换writer.add_scalar("y = 2x", 2 * i, i)中的title,就会导致后续的图像也会在同一个title下的图像中绘制,比如我现在如果执行writer.add_scalar("y = 2x", 3 * i, i),就会发现y = 2x,y = 3x出现在同一个图像中,会造成视觉混淆,如果出现不妨停止程序,然后更新一下title再重新绘制就可以了(不过好像现在修复了?我和up主用的不是一个版本,现在不会出现这个问题,好像会直接覆盖掉原来的)


add_image()函数- 同样在tensorboard中查看,命令和上面的相同,结果如下:

Part 5:Transforms的使用
torchvision.transforms是 PyTorch 中一个用于数据预处理和增强的模块,尤其在图像处理任务中广泛应用。其主要作用是对输入数据(如图像)进行变换,以便适配模型的输入格式,同时提高模型的鲁棒性。
- 主要应用
- 数据预处理: 例如,调整图像大小、裁剪、归一化等,使数据满足模型的输入要求。
- 数据增强: 通过对图像进行随机变换(如旋转、翻转等),增加数据的多样性,提高模型的泛化能力。
- 管道式操作: 通过
transforms.Compose将多个变换组合在一起,实现预处理和增强的流水线。
1. transforms.Compose
- 作用: 用于将多个变换组合成一个顺序流水线,方便对数据进行一系列预处理和增强操作。
- 参数: 接收一个列表,列表中的每个元素是一个单独的变换。
- 示例:
解释: 这里的流水线依次调整图像大小、转换为张量、并对像素值标准化。
2. transforms.Resize
- 作用: 调整图像大小。
- 参数:
size: 目标大小,若为元组(height, width)则指定高和宽;若为单一值,则将较短边调整到此值,保持长宽比。interpolation(可选): 指定插值方式(如双线性插值、最近邻插值等),默认是InterpolationMode.BILINEAR。
- 示例:
解释: 将图像调整为固定大小的 128x128 像素。
3. transforms.CenterCrop 和 transforms.RandomCrop
- 作用:
- 参数:
- 示例:
4. transforms.ToTensor
- 作用: 将 PIL 图像或 numpy 数组转换为 PyTorch 张量,并将像素值归一化到
[0, 1]。
- 参数: 无。
- 示例:
5. transforms.Normalize
- 作用: 对张量进行标准化处理,使每个通道的值服从指定的均值和标准差。
- 参数:
- 示例:
6. transforms.RandomHorizontalFlip 和 transforms.RandomVerticalFlip
- 作用: 随机水平或垂直翻转图像。
- 参数:
- 示例:
7. transforms.RandomRotation
- 作用: 随机旋转图像。
- 参数:
- 示例:
- 作者:Samuel Hu
- 链接:http://hjw-aihub.cn/article/pytorch
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。











