1.torch.tensor(data, *, dtype=None, device=None, requires_grad=False, pin_memory=False)
将一个数据转换为tensor数据类型。
2.torch.reshape(input, shape)
返回一个张量,该张量具有与输入相同的数据和元素数,但具有指定的形状。一般的数据形状为(x,y),而一般在神经网络中输入的数据要满足(m,n,x,y)。
3.torch.zeros(*size, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
返回一个用标量值0填充的张量,形状由变量参数大小定义。即产生一个全为0的tensor数据,形状可以自己设置
4.torch.ones(*size, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
返回一个用标量值1填充的张量,形状由变量参数大小定义。即产生一个全为1的tensor数据,形状可以自己设置
5.torch.flatten(input, start_dim=0, end_dim=- 1)
通过将输入重塑为一维张量,将其展平。
6.torch.save(obj, f, pickle_module=pickle, pickle_protocol=DEFAULT_PROTOCOL, _use_new_zipfile_serialization=True)
保存一个训练好的模型文件并指定其文件名。
7.torch.load(f, map_location=None, pickle_module=pickle, **pickle_load_args)
加载已训练好的模型。
8.torch.optim.SGD(params, lr=required parameter, momentum=0, dampening=0, weight_decay=0, nesterov=False, *, maximize=False, foreach=None)
设置优化器,实现随机梯度下降
1.torchvision.datasets.CIFAR10(root:str, train:bool= True, transform: Optional[Callable] = None, target_transform: Optional[Callable] = None, download: bool = False)
torchvision.datasetsx.xxxxxxx 来加载一些常见的开源数据集,将download设置为True可以在官网下载到root设定的文件夹。如果下载太慢,也可以自己去官网下载,再利用这个函数加载即可。
2.torchvision.transforms.ToTensor()
将PIL图像或将numpy的ndarray转换为(H,W,C)的Tensor数据类型,且如果PIL图像属于其中一种模式(L、LA、P、I、F、RGB、YCbCr、RGBA、CMYK、1)或numpy中的元素为uint类型时,将图像从[0,255归一化到[0,1.0]之间。
3.torchvision.transforms.Normalize(mean, std, inplace=False)
输入均值和标准差后,用平均值和标准偏差对张量图像进行归一化。此转换不支持PIL图像
4.torchvision.transforms.Resize(size, interpolation=InterpolationMode.BILINEAR: 'bilinear', max_size=None, antialias=None)
将输入图像调整为给定大小。
5.torchvision.transforms.Cpmpose(transforms)
将多种要进行的操作组合在一起一起进行。比如以下代码。将图片转换为Tensor数据类型和改变数据的形状组合在一起进行。
tensor_trans = transforms.ToTensor()
trans_resize_2 = transforms.Resize(512)
trans_compose = transforms.Compose([trans_resize_2, tensor_trans])
img_resize_2 = trans_compose(img)
6.torchvision.transforms.RandomCrop(size, padding=None, pad_if_needed=False, fill=0, padding_mode='constant')
在给定图像上随机裁剪size大小的图像,其余参数一般默认。
1.torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros', device=None, dtype=None)
设置一个卷积层。常用参数为:in_channels=输入通道,out_channels=输出通道,kernel_size=卷积核大小,stride=卷积步数,padding=周边填充的大小。
2.torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)
设置一个池化层。常用参数为:kernel_size=池化核大小,stride=池化步数。
3.torch.nn.ReLU(inplace=False)
设置一个ReLU激活函数。
4.torch.nn.Linear(in_features, out_features, bias=True, device=None, dtype=None)
设置一个全连接层。in_features为输入样本的大小,out_features为输出样本的大小,bias默认为true。如果设置bias = false那么该层将不会学习一个加性偏差。
5.torch.nn.L1Loss(size_average=None, reduce=None, reduction='mean')
创建一个标准来测量输入x和目标y中每个元素之间的平均绝对误差。
6.torch.nn.CrossEntropyLoss(weight=None, size_average=None, ignore_index=- 100, reduce=None, reduction='mean', label_smoothing=0.0)
创建一个计算输入和目标之间的交叉熵损失函数。
7.torch.nn.MSELoss(size_average=None, reduce=None, reduction='mean')
创建一个用于测量输入xx和目标yy中每个元素之间的均方误差损失函数。
8.torch.nn.Flatten()
将连续的几个维度展平成一个tensor。在卷积神经网络中通常用来将二维图像压缩成一维。