Pytorch
Pytorch、深度学习
OneBaBa
这个作者很懒,什么都没留下…
展开
-
如何使用pytorch内置torch.nn.CTCLoss的方法&&车牌识别应用
一、开篇简述CTC 的全称是Connectionist Temporal Classification,中文名称是“连接时序分类”,这个方法主要是解决神经网络label 和output 不对齐的问题(Alignment problem),其优点是不用强制对齐标签且标签可变长,仅需输入序列和监督标签序列即可进行训练,目前,该方法主要应用于场景文本识别(scene text recognition)、语音识别(speech recognition)及手写字识别(handwriting recognition转载 2021-09-10 15:27:09 · 1717 阅读 · 0 评论 -
pytorch网络的创建和与训练模型的加载
本文是PyTorch使用过程中的的一些总结,有以下内容:构建网络模型的方法 网络层的遍历 各层参数的遍历 模型的保存与加载 从预训练模型为网络参数赋值主要涉及到以下函数的使用add_module,ModulesList,Sequential模型创建 modules(),named_modules(),children(),named_children()访问模型的各个子模块 parameters(),named_parameters()网络参数的遍历 save(),load()...转载 2020-10-22 14:28:06 · 1687 阅读 · 0 评论 -
Pytorch的激活函数ReLU()
import torchimport torch.nn as nn#inplace为True,将会改变输入的数据 ,否则不会改变原输入,只会产生新的输出m = nn.ReLU(inplace=True)input = torch.randn(7)print("输入处理前图片:")print(input)output = m(input)print("ReLU输出:")print(output)print("输出的尺度:")print(output.size())print.转载 2020-10-20 17:04:46 · 2026 阅读 · 0 评论 -
Pytorch的AvgPool2d函数
import torchimport torch.nn as nnimport torch.nn.functional as Ffrom torch.autograd import Variableimport numpy as np input = Variable(torch.Tensor([[[1, 3, 3, 4, 5, 6, 7], [1, 2, 3, 4, 5, 6, 7]], [[1, 3, 3, 4, 5, 6, 7], [1, 2, 3, 4, 5, 6, 7]]]).转载 2020-10-20 16:57:48 · 4412 阅读 · 0 评论 -
Pytorch的torch.max()使用讲解
output = torch.max(input, dim)input输入的是一个tensordim是max函数索引的维度0/1,0是每列的最大值,1是每行的最大值实例import torchimport numpy as npimport matplotlib.pyplot as pltx = torch.randn(3,3)print(x)max_value,index = torch.max(x,dim=1) #返回的是两个值,一个是每一行最大值的tensor组,另一个是转载 2020-10-20 16:20:17 · 1338 阅读 · 0 评论 -
Pytorch的 torch.nn.functional中softmax的作用及其参数说明
class torch.nn.Softmax(input, dim)或torch.nn.functional.softmax(input, dim)对n维输入张量运用Softmax函数,将张量的每个元素缩放到(0,1)区间且和为1。Softmax函数定义如下:参数: dim:指明维度,dim=0表示按列计算;dim=1表示按行计算。默认dim的方法已经弃用了,最好声明dim,否则会警告:UserWarning: Implicit dimension choice for .转载 2020-10-20 16:09:23 · 12341 阅读 · 1 评论 -
PyTorch的nn.Linear()详解
PyTorch的nn.Linear()是用于设置网络中的全连接层的,需要注意的是全连接层的输入与输出都是二维张量,一般形状为[batch_size, size],不同于卷积层要求输入输出是四维张量。其用法与形参说明如下: in_features指的是输入的二维张量的大小,即输入的[batch_size, size]中的size。 out_features指的是输出的二维张量的大小,即输出的二维张量的形状为[batch_size,output_size],当然,它也代表了该全连接层的神经元个数。转载 2020-10-20 15:56:24 · 1978 阅读 · 0 评论 -
Pytorch的x = x.view(x.size(0), -1) 的理解
之前对于pytorch的网络编程学习都是大致理解每一层的概念,有些语法语句没有从原理上弄清楚,就比如标题的x = x.view(x.size(0), -1) 。这句话一般出现在model类的forward函数中,具体位置一般都是在调用分类器之前。分类器是一个简单的nn.Linear()结构,输入输出都是维度为一的值,x = x.view(x.size(0), -1) 这句话的出现就是为了将前面多维度的tensor展平成一维。下面是个简单的例子,我将会根据例子来对该语句进行解析。class N..转载 2020-10-20 15:46:48 · 2510 阅读 · 1 评论 -
Pytorch学习笔记-(__init__)
几乎每个文件夹下都有__ init.py__,一个目录如果包含了 init.py 文件,那么它就变成了一个包(package)。__ init.py__可以为空,也可以定义包的属性和方法,但其必须存在,其它程序才能从这个目录中导入相应的模块或函数。例如在data/文件夹下有__ init.py__,则在main.py中就可以from data.dataset import DogCat。而如果在__ init.py__中写入from .dataset import DogCat,则...原创 2020-10-20 09:48:52 · 1228 阅读 · 1 评论 -
图像的加载/读取方式(torch.Tensor转换numpy.ndarray)
图像加载问题使用pytorch制作图像数据集时,需要将存储在磁盘、硬盘的图像读取到内存中,涉及到图像I/O问题。在python中,图像处理主要采用的库:skimage, opencv-python, Pillow (PIL)。 这三个库均提供了图像读取的方法。三种主流图像处理库的比较:库 函数/方法 返回值 图像像素格式 像素值范围 图像矩阵表示 skimage io.imread(xxx) numpy.ndarray RGB [0,转载 2020-09-17 16:54:46 · 4761 阅读 · 0 评论 -
pytorch中对维度及其squeeze()、unsqueeze()函数的理解
一、理解tensor的维度TensorFlow对张量的阶、维度、形状有着明确的定义,而在pytorh中对其的定义却模糊不清,仅仅有一个torch.size()的函数来查看张量的大小(我理解的这个大小指的就是TensorFlow对张量的形状描述,也和numpy的.shape类似)。所以,首先要搞清楚如何看一个张量的形状。 import torch z = torch.ones(2,3,4) print(z) print(z.size()) pr..转载 2020-09-17 16:18:04 · 206 阅读 · 0 评论