PyTorch
PyTorch
面试题
pytorch 计算图
pytorch 自动求导的原理?
pytorch detach()方法 clone()方法 load save方法
两大法宝
- dir 打卡工具箱
dir(torch.cuda) - help 查看具体函数的使用方式
help(torch.cuda.is_available)
数据加载
Dataset
提供一种方式去获取数据及其label,以及数据集的大小
1 | |
tensorboard
可视化训练过程的数据
add_image()add_scalar
1 | |
Dataloader
为后面的网络提供不同的数据形式
numpy
tensor
PyTorch 是一个开源的深度学习框架,它提供了张量作为其核心数据结构。在 PyTorch 中,张量类似于 NumPy 中的数组,但是拥有额外的功能,特别是与 GPU 加速计算有关的功能。以下是 PyTorch 中张量的一些介绍:
创建张量: 你可以使用 torch.tensor() 函数创建张量,也可以使用一些特殊的函数如 torch.zeros()、torch.ones() 来创建特定大小的张量,还可以从 Python 列表或 NumPy 数组中创建张量。
张量属性: 张量有很多属性,比如形状(shape)、数据类型(dtype)、设备(device,表示张量所在的设备,如 CPU 或 GPU)、布局(layout,表示张量的存储方式,如连续存储或分块存储)等。
张量操作: PyTorch 提供了许多张量操作函数,包括数学运算、逻辑运算、索引和切片等。你可以对张量进行加法、乘法、指数运算等操作,也可以使用索引和切片来访问张量的特定元素或子集。
自动求导: PyTorch 的一个重要功能是自动求导,它可以自动计算张量的梯度。你可以通过 tensor.requires_grad=True 将张量设置为需要求导,然后进行计算,PyTorch 会自动构建计算图并计算梯度。
张量和神经网络: 在深度学习中,张量是神经网络的基本数据结构。神经网络的输入、输出和参数都表示为张量,而神经网络的前向传播和反向传播也是基于张量的运算实现的。
总的来说,PyTorch 的张量是一种灵活、强大的数据结构,它为深度学习提供了高效的数值计算和自动求导的功能。
tensor函数
torchvision.transforms.ToTensor()
在使用 transforms.ToTensor() 进行图片数据转换过程中会对图像的像素值进行正则化,即一般读取的图片像素值都是8 bit 的二进制,那么它的十进制的范围为 [0, 255],而正则化会对每个像素值除以255,也就是把像素值正则化成 [0.0, 1.0]的范围
意义:将图片表示为数字化的数据,方便神经网络进行处理和学习