IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> pytorch-API -> 正文阅读

[人工智能]pytorch-API

[pytorch中文文档]

模型保存

1.只保存和加载模型参数:

##保存
torch.save(the_model.state_dict(), PATH)
##导入
the_model = TheModelClass(*args, **kwargs)
the_model.load_state_dict(torch.load(PATH))

2.保存和加载整个模型:

##保存
torch.save(the_model, PATH)
##导入
the_model = torch.load(PATH)

torchvision介绍

1.torchvision.datasets

  • MNIST
  • COCO(用于图像标注和目标检测)(Captioning and Detection)
  • LSUN Classification
  • ImageFolder
  • Imagenet-12
  • CIFAR10 and CIFAR100
  • STL10

2.torchvision.models

  • AlexNet
  • VGG
  • ResNet
  • SqueezeNet
  • DenseNet
import torchvision.models as models
#pretrained=True就可以使用预训练的模型
resnet18 = models.resnet18(pretrained=True)
alexnet = models.alexnet(pretrained=True)

3. torchvision.transforms

对PIL.Image进行变换

class torchvision.transforms.CenterCrop(size)
将给定的PIL.Image进行中心切割,得到给定的size,size可以是tuple,(target_height, target_width)。size也可以是一个Integer,在这种情况下,切出来的图片的形状是正方形。

class torchvision.transforms.RandomCrop(size, padding=0)
切割中心点的位置随机选取。size可以是tuple也可以是Integer。

class torchvision.transforms.RandomHorizontalFlip
随机水平翻转给定的PIL.Image,概率为0.5。即:一半的概率翻转,一半的概率不翻转。

class torchvision.transforms.RandomSizedCrop(size, interpolation=2)
先将给定的PIL.Image随机切,然后再resize成给定的size大小。

class torchvision.transforms.Pad(padding, fill=0)
将给定的PIL.Image的所有边用给定的pad value填充。 padding:要填充多少像素 fill:用什么值填充。

对Tensor进行变换

class torchvision.transforms.Normalize(mean, std)
给定均值:(R,G,B) 方差:(R,G,B),将会把Tensor正则化。即:Normalized_image=(image-mean)/std。

class torchvision.transforms.ToTensor
把一个取值范围是[0,255]的PIL.Image或者shape为(H,W,C)的numpy.ndarray,转换成形状为[C,H,W],取值范围是[0,1.0]的torch.FloadTensor

data = np.random.randint(0, 255, size=300)
img = data.reshape(10,10,3)
print(img.shape)
img_tensor = transforms.ToTensor()(img) # 转换成tensor
print(img_tensor)

class torchvision.transforms.ToPILImage
将shape为(C,H,W)的Tensor或shape为(H,W,C)的numpy.ndarray转换成PIL.Image,值不变。

通用变换

class torchvision.transforms.Lambda(lambd)
使用lambd作为转换器。

4.torchvision.utils

make_grid(tensor, nrow=8, padding=2, normalize=False, range=None, scale_each=False)
给定 4D mini-batch Tensor, 形状为 (B x C x H x W),或者一个a list of image,做成一个size为(B / nrow, nrow)的sprite image。
normalize=True ,会将图片的像素值归一化处理
如果 range=(min, max), min和max是数字,那么min,max用来规范化image
scale_each=True ,每个图片独立规范化,而不是根据所有图片的像素最大最小值来规范化
save_image(tensor, filename, nrow=8, padding=2, normalize=False, range=None, scale_each=False)
将给定的Tensor保存成image文件。如果给定的是mini-batch tensor,那就用make-grid做成sprite image,再保存。

torch

详细方法查阅API文档

torch.Tensor

详细方法查阅API文档

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

Torch定义了七种CPU tensor类型和八种GPU tensor类型:

Data tyoeCPU tensorGPU tensor
32-bit floating pointtorch.FloatTensortorch.cuda.FloatTensor
64-bit floating pointtorch.DoubleTensortorch.cuda.DoubleTensor
16-bit floating pointN/Atorch.cuda.HalfTensor
8-bit integer (unsigned)torch.ByteTensortorch.cuda.ByteTensor
8-bit integer (signed)torch.CharTensortorch.cuda.CharTensor
16-bit integer (signed)torch.ShortTensortorch.cuda.ShortTensor
32-bit integer (signed)torch.IntTensortorch.cuda.IntTensor
64-bit integer (signed)torch.LongTensortorch.cuda.LongTensor

torch.Storage

详细方法查阅API文档

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

torch.nn

Parameters:模块参数
class torch.nn.Module:所有网络的基类。

import torch.nn as nn
import torch.nn.functional as F

class Model(nn.Module):
    def __init__(self):
        super(Model, self).__init__()
        self.conv1 = nn.Conv2d(1, 20, 5)# submodule: Conv2d
        self.conv2 = nn.Conv2d(20, 20, 5)

    def forward(self, x):
       x = F.relu(self.conv1(x))
       return F.relu(self.conv2(x))
    #通过上面方式赋值的submodule会被注册。当调用 .cuda() 的时候,submodule的参数也会转换为cuda Tensor。

Sequential方法:一个时序容器。

# Example of using Sequential
model = nn.Sequential(
          nn.Conv2d(1,20,5),
          nn.ReLU(),
          nn.Conv2d(20,64,5),
          nn.ReLU()
        )
# Example of using Sequential with OrderedDict
model = nn.Sequential(OrderedDict([
          ('conv1', nn.Conv2d(1,20,5)),
          ('relu1', nn.ReLU()),
          ('conv2', nn.Conv2d(20,64,5)),
          ('relu2', nn.ReLU())
        ]))

卷积层

  • Conv1d 1维
  • Conv2d 2维
  • Conv3d 3维
  • ConvTranspose1d 解卷积
  • ConvTranspose2d
  • ConvTranspose3d

池化层

  • MaxPool1d
  • MaxPool2d
  • MaxPool3d
  • MaxUnpool1d Maxpool1d的逆过程,不过并不是完全的逆过程
  • MaxUnpool2d
  • MaxUnpool3d
  • AvgPool1d 平均池化
  • AvgPool2d
  • AvgPool3d
  • FractionalMaxPool2d 分数最大池化
  • LPPool2d 幂平均池化
  • AdaptiveMaxPool1d 自适应最大池化
  • AdaptiveMaxPool2d
  • AdaptiveAvgPool1d 自适应平均池化
  • AdaptiveAvgPool2d

Non-Linear Activations

  • ReLU
  • ReLU6
  • ELU
  • PReLU
  • LeakyReLU
  • Threshold
  • Hardtanh
  • Sigmoid
  • Tanh
  • LogSigmoid
  • Softplus
  • Softshrink
  • Softsign
  • Softshrink
  • Softmin
  • Softmax
  • LogSoftmax

Normalization layers

  • BatchNorm1d
  • BatchNorm2d
  • BatchNorm3d

Recurrent layers

  • RNN
  • LSTM
  • GRU
  • RNNCell
  • LSTMCell
  • GRUCell

Linear layers

  • Linear

Dropout layers

  • Dropout1d
  • Dropout2d
  • Dropout3d

Sparse layers 稀疏层

  • Embedding

Distance functions

  • PairwiseDistance

Loss functions

  • L1Loss
  • MSELoss
  • CrossEntropyLoss
  • NLLLoss
  • NLLLoss2d
  • KLDivLoss
  • BCELoss
  • MarginRankingLoss
  • HingeEmbeddingLoss
  • MultiLabelMarginLoss
  • SmoothL1Loss
  • SoftMarginLoss
  • MultiLabelSoftMarginLoss
  • CosineEmbeddingLoss
  • MultiMarginLoss

Vision layers

  • PixelShuffle
  • UpsamplingNearest2d
  • UpsamplingBilinear2d

Multi-GPU layers

  • DataParallel

Utilities

  • clip_grad_norm
  • PackedSequence
  • pack_padded_sequence
  • pad_packed_sequence

torch.autograd

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

  • Variable
  • backward
  • detach
  • register_hook
  • reinforce
  • forward
  • mark_dirty
  • mark_non_differentiable
  • mark_shared_storage
  • save_for_backward

torch.optim

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

optimizer = optim.SGD(model.parameters(), lr = 0.01, momentum=0.9)
optimizer = optim.Adam([var1, var2], lr = 0.0001)
#lr学习率 momentum权重

Optimizer

  • load_state_dict
  • state_dict
  • step
  • zero_grad

Adam
ASGD
RMSprop
Rprop
SGD

torch.nn.init

  • calculate_gain
  • uniform
  • normal
  • constant
  • eye
  • dirac
  • xavier_uniform
  • xavier_normal
  • kaiming_uniform
  • kaiming_normal
  • orthogonal
  • sparse

torch.multiprocessing

用于在相同数据的不同进程中共享视图

  • get_all_sharing_strategies
  • get_sharing_strategy
  • set_sharing_strategy

torch.legacy

为了可以使用现有的模型并且方便当前Lua Torch使用者过渡,我们创建了这个包。 可以在torch.legacy.nn中找到nn代码,并在torch.legacy.optim中找到optim代码。 API应该完全匹配Lua Torch。

torch.utils.ffi

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

torch.cuda

  • current_blas_handle
  • current_device
  • current_stream
  • device
  • device_count
  • device_of
  • is_available
  • set_device
  • stream
  • synchronize
  • 交流集

torch.utils.data

  • Dataset
  • TensorDataset
  • DataLoader
  • Sampler
  • SequentialSampler
  • RandomSampler
  • SubsetRandomSampler
  • WeightedRandomSampler

torch.utils.model_zoo

#在给定URL上加载Torch序列化对象。
torch.utils.model_zoo.load_url(url, model_dir=None)
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-24 15:33:09  更:2021-08-24 15:36:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 18:27:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码