pytorch的PACKAGE参考

Posted 汽车电子俱乐部

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytorch的PACKAGE参考相关的知识,希望对你有一定的参考价值。

今天,整理了pytorch的PACKAGE参考,供茶余饭后拿出手机翻一翻。

【torch】

包 torch 包含了多维张量的数据结构以及基于其上的多种数学操作。另外,它也提供了多种工具,其中一些可以更有效地对张量和任意类型进行序列化。

【torch.Tensor】

torch.Tensor是一种包含单一数据类型元素的多维矩阵。

【torch.Storage】

一个torch.Storage是一个单一数据类型的连续一维数组。每个torch.Tensor都有一个对应的、相同数据类型的存储。

【torch.nn.functional】

Convolution 函数

torch.nn.functional.conv1d(input, weight,bias=None, stride=1, padding=0, dilation=1, groups=1)

对几个输入平面组成的输入信号应用1D卷积。

torch.nn.functional.conv2d(input, weight,bias=None, stride=1, padding=0, dilation=1, groups=1)

对几个输入平面组成的输入信号应用2D卷积。

torch.nn.functional.conv3d(input, weight,bias=None, stride=1, padding=0, dilation=1, groups=1)

对几个输入平面组成的输入信号应用3D卷积。

torch.nn.functional.conv_transpose2d(input,weight, bias=None, stride=1, padding=0, output_padding=0, groups=1)

在由几个输入平面组成的输入图像上应用二维转置卷积,有时也称为“去卷积”。

torch.nn.functional.conv_transpose3d(input,weight, bias=None, stride=1, padding=0, output_padding=0, groups=1)

在由几个输入平面组成的输入图像上应用三维转置卷积,有时也称为“去卷积”。

Pooling 函数

torch.nn.functional.avg_pool1d(input,kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True)

对由几个输入平面组成的输入信号进行一维平均池化。

torch.nn.functional.avg_pool2d(input,kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True)

在kh x kw区域中应用步长为dhx dw的二维平均池化操作。输出特征的数量等于输入平面的数量。

torch.nn.functional.avg_pool3d(input,kernel_size, stride=None)

在kt x kh x kw区域中应用步长为dt x dh x dw的二维平均池化操作。输出特征的数量等于 input planes/ dt。

非线性激活函数

torch.nn.functional.threshold(input,threshold, value, inplace=False)

torch.nn.functional.relu(input,inplace=False)

torch.nn.functional.hardtanh(input,min_val=-1.0, max_val=1.0, inplace=False)

torch.nn.functional.relu6(input,inplace=False)

torch.nn.functional.elu(input, alpha=1.0,inplace=False)

torch.nn.functional.leaky_relu(input,negative_slope=0.01, inplace=False)

……

Normalization 函数

torch.nn.functional.batch_norm(input,running_mean, running_var, weight=None, bias=None, training=False,momentum=0.1, eps=1e-05)

线性函数

torch.nn.functional.linear(input, weight,bias=None)

Dropout 函数

torch.nn.functional.dropout(input, p=0.5,training=False, inplace=False)

距离函数(Distance functions)

torch.nn.functional.pairwise_distance(x1,x2, p=2, eps=1e-06)

计算向量v1、v2之间的距离。

损失函数(Loss functions)

torch.nn.functional.nll_loss(input, target,weight=None, size_average=True)

负的log likelihood损失函数。

torch.nn.functional.kl_div(input, target,size_average=True)

KL 散度损失函数。

torch.nn.functional.cross_entropy(input,target, weight=None, size_average=True)

该函数使用了 log_softmax 和 nll_loss。

torch.nn.functional.binary_cross_entropy(input,target, weight=None, size_average=True)

该函数计算了输出与target之间的二进制交叉熵。

Vision functions

torch.nn.functional.pixel_shuffle(input,upscale_factor)[source]

将形状为[*, C*r^2, H, W]的Tensor重新排列成形状为[C, H*r, W*r]的Tensor。

torch.nn.functional.pad(input, pad,mode='constant', value=0)[source]

【torch.autograd】

torch.autograd提供了类和函数用来对任意标量函数进行求导。要想使用自动求导,只需要对已有的代码进行微小的改变。只需要将所有的tensor包含进Variable对象中即可。

【torch.optim】

torch.optim是一个实现了各种优化算法的库。大部分常用的方法得到支持,并且接口具备足够的通用性,使得未来能够集成更加复杂的方法。

为了使用torch.optim,你需要构建一个optimizer对象。这个对象能够保持当前参数状态并基于计算得到的梯度进行参数更新。

为了构建一个Optimizer,你需要给它一个包含了需要优化的参数(必须都是Variable对象)的iterable。然后,你可以设置optimizer的参 数选项,比如学习率,权重衰减,等等。

optimizer = optim.SGD(model.parameters(),lr = 0.01, momentum=0.9)

optimizer = optim.Adam([var1, var2], lr =0.0001)

【torch.nn.init】

torch.nn.init.calculate_gain(nonlinearity,param=None)

对于给定的非线性函数,返回推荐的增益值。

【torch.multiprocessing】

封装了multiprocessing模块。用于在相同数据的不同进程中共享视图。

一旦张量或者存储被移动到共享单元(见share_memory_()),它可以不需要任何其他复制操作的发送到其他的进程中。

【torch.legacy】

此包中包含从Lua Torch移植来的代码。

【torch.cuda】

该包增加了对CUDA张量类型的支持,实现了与CPU张量相同的功能,但使用GPU进行计算。它是懒惰的初始化,所以你可以随时导入它,并使用is_available()来确定系统是否支持CUDA。CUDA语义中有关于使用CUDA的更多细节。

【torch.utils.ffi】

torch.utils.ffi.create_extension(name,headers, sources, verbose=True, with_cuda=False, package=False,relative_to='.', **kwargs)

创建并配置一个cffi.FFI对象,用于PyTorch的扩展。

【torch.utils.data】

class torch.utils.data.Dataset

表示Dataset的抽象类。所有其他数据集都应该进行子类化。所有子类应该override__len__和__getitem__,前者提供了数据集的大小,后者支持整数索引,范围从0到len(self)。

【torch.utils.model_zoo】

torch.utils.model_zoo.load_url(url,model_dir=None)

在给定URL上加载Torch序列化对象。

【torchvision】

torchvision包 包含了目前流行的数据集,模型结构和常用的图片转换工具。

【torchvision.datasets】

torchvision.datasets中包含了以下数据集:

MNIST

COCO(用于图像标注和目标检测)(Captioningand Detection)

LSUN Classification

ImageFolder

Imagenet-12

CIFAR10 and CIFAR100

STL10

【torchvision.models】

torchvision.models模块的 子模块中包含以下模型结构。

AlexNet

VGG

ResNet

SqueezeNet

DenseNet

【torchvision.transforms】

classtorchvision.transforms.Compose(transforms)

将多个transform组合起来使用。

【torchvision.utils】

torchvision.utils.save_image(tensor,filename, nrow=8, padding=2, normalize=False, range=None, scale_each=False)

将给定的Tensor保存成image文件。如果给定的是mini-batch tensor,那就用make-grid做成雪碧图,再保存。

以上是关于pytorch的PACKAGE参考的主要内容,如果未能解决你的问题,请参考以下文章

推荐PyTorch中文文档

Python_pytorch

Python_pytorch

MXNet和pytorch哪个比较好用?

2020-05-11pytorch自定义求导

pytorch 常用函数参数详解