pytorch
文章平均质量分 72
右边是我女神
笔记仓库
展开
-
Torch_6
文章目录torch.set_grad_enabled()nn.Sequential & OrderedDicttorch.set_grad_enabled()括号内的参数为True或者False。表示开启或关闭梯度计算。其一半功能类似于torch.no_grad()。使用方式为:with torch.set_grad_enabled(bool): xxxxxx使用场景为:如果在训练过程中,我们希望这是一个trainval的过程,于是可以通过控制bool值来调整这是一个train的过原创 2021-08-29 16:53:09 · 445 阅读 · 0 评论 -
python中的修饰符
文章目录函数修饰符被修饰函数不带参数被修饰函数带参数类修饰符@classmethod@property@classmethod和@staticmethod的区别函数修饰符函数修饰符的作用是为现有函数增加额外的功能,比如日志插入、性能测试等。创建函数修饰符的规则有以下四点:修饰符是一个函数;被修饰函数是修饰符的参数;修饰符返回一个新函数;修饰符维护被维护函数的签名(原函数还是按照以前的标识符调用,但功能多了一些);被修饰函数不带参数我们有一个函数用于计算1到10000的整数和:def原创 2021-08-24 13:05:03 · 965 阅读 · 0 评论 -
argparse
ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])¶参数作用name or flags一个命名或者一个选项字符串的列表,例如:-f,–fooaction当参数在命令行中出现时使用的动作基本类型nargs命令行参数应当消耗的数目co原创 2021-07-01 22:07:52 · 97 阅读 · 0 评论 -
Torch_5(Dataset)
class torch.utils.data.Dataset def My_Dataset(Dataset): def __init__(self,data): self.data = data def __len__(self): return len(self.data) def __getitem__(self,idx): pass自定义的数据集抽象类,至少包含以上内容,否则会报错。_len_:提供了数据集大小;_getitem_:支持整数索引。...原创 2021-06-02 18:36:56 · 147 阅读 · 0 评论 -
Torch_4(CrossEntrypyLoss)
torch.nn.CrossEntrypyLoss(weight=None,size_average=True)交叉熵刻画了实际输出(概率)与期望输出(概率)之间的距离。交叉熵的值越小,两个概率分布就越接近。我们记概率分布函数ppp为期望输出,概率分布函数qqq为实际输出,H(p,q)H(p,q)H(p,q)为交叉熵。H(p,q)=−∑x(p(x)logq(x)+(1−p(x))log(1−q(x)))H(p,q)=-\sum_x(p(x)\log{q(x)}+(1-p(x))\log(1-原创 2021-06-02 16:02:59 · 2430 阅读 · 0 评论 -
Torch_3(RNN相关)
viewx.view 相当于numpy中的reshapescatter_scatter:撒、撒播。scatter 不会修改原来的Tensor,而scatter_会。Pytorch中一般下划线表示直接在原Tensor上修改。scatter_(dim,index,src)dim:沿着那个维度进行索引;dim=0表示按行填充。index:用来scatter的元素索引;src:用来scatter的原元素。难点这个填入的索引位置,很考究。重点在于,这个index和dim息息相关。专门原创 2021-06-02 14:52:53 · 201 阅读 · 0 评论 -
Torch_2
如何对网络进行测试关于eval和trainmodel.train()如果网络中含BatchNorm和Dropout层,我们需要对model调用train。对于batchnorm,在训练时能保证使用每一批数据的均值和方差。对于dropout,在训练时随机舍弃一些神经元。model.eval()如果网络中含BatchNorm和Dropout层,我们需要对model调用eval。对于batchnorm,在测试时能保证使用全部数据的均值和方差,即均值和方差不发生改变。对于dropout,不再舍弃神原创 2021-05-16 00:14:25 · 86 阅读 · 0 评论 -
Torch_1
基础初始化a = torch.FloatTensor(2,3) #随机生成size为(2,3)的张量b = torch.FloatTensor([[1,2,3],[4,5,6]])c = torch.IntTensor([1,2])d = torch.rand(2,3) #0~1之间的随机数 Tensor可以不用以元组的形式列出,而numpy需要e = torch.randn(2,3) #均值为0,方差为1的正态分布 f = torch.normal(means,std,size=(H,W)o原创 2021-04-23 23:32:39 · 568 阅读 · 0 评论 -
Pytorch学习日志(10)——卷积神经网络案例分析
##LeNet原创 2021-03-21 20:55:41 · 357 阅读 · 0 评论 -
Pytorch学习日志(9)——Pytorch中的卷积模块
卷积层nn.Conv2d()#八个参数in_channels #输入数据体深度out_channels #输出数据体深度kernel_size #滤波器(卷积核大小)stride #滑动的步长padding #零填充数量dilation #卷积对输入数据体的空间间隔groups #表示输出数据体深度上和输入数据体上深度上的联系bias #默认为True,使用偏置池化层nn.MaxPool2d() #表示网络中的最大值池化#6个参数kernel_sizestridedilat原创 2021-03-21 15:48:55 · 311 阅读 · 0 评论 -
Pytorch学习日志(8)——卷积基本知识
三个观点局部性图片的特征由一些局部的区域决定。相同性两张图片具有相同的特征,出现位置不同,但是可以用相同的检测模式去检测。不变性对于一张大图片,我们进行下采样,图片的性质基本保持不变。下采样与上采样下采样:缩小图片上采样:放大图片卷积神经网络和全连接神经网络思想与步骤是相似的。但是全连接神经网络的开销特别大,对于200x200x3的图片而言会存在十二万个参数。卷积神经网络在开销上就相对较小。卷积神经网络的主要层结构有三个:卷积层、池化层和全连接层。卷积层和全连接层拥有参数,而激活原创 2021-03-21 13:03:23 · 880 阅读 · 0 评论 -
Pytorch学习日志(7)——实战!多层全连接神经网络实现MINIST手写数字分类
import torchimport torch.nn as nnimport torch.optim as optimfrom torch.autograd import Variable'''简单的三层全连接网络class simpleNet(nn.module): def __init__(self,in_dim,n_hidden_1,n_hidden_2,out_dim): super(simpleNet,self).__init__() self原创 2021-03-14 20:29:14 · 585 阅读 · 0 评论 -
Pytorch学习日志(6)——处理数据与训练模型
数据预处理中心化(零均值化)最常见的处理办法是每个特征维度都减去相应的均值实现中心化,这样可以使得数据变成0均值。原创 2021-03-14 15:03:20 · 473 阅读 · 0 评论 -
Pytorch学习日志(5)——反向传播算法以及各种优化算法的变式
反向传播算法反向传播算法本质上是一个链式求导法则的应用。链式法则反向传播算法首先对公示拆分为几个基本函数;线上为函数的值,线下为原函数对其求导后的值。Sigmoid函数举例各种优化算法的变式梯度下降法的变式SGD每次使用一批数据进行梯度计算,但不是计算全部数据的梯度。易于跳出局部极小点。在运行代码时,input与out都是含多个样本的一个Tensor。那么Loss函数对这个Tensor如何操作呢?我认为是对out和target的每一个样本点进行求和或连乘操作,得到一个实数。原创 2021-03-13 20:48:12 · 451 阅读 · 0 评论 -
Pytorch学习日志(4)——激活函数
深度学习的前身是神经网络。接下来,我们开始学习神经网络算法。模拟神经元输入信号通过突触进入神经元;神经元内部对信号进行激活处理;信号沿着神经元的轴突输出;这个轴突通过下一个神经元的突出相连接。输入信号输入数据突触模型的参数信号输入过程参数与数据进行线性组合Sigmoid函数就是一种激活函数。单层神经网络的分类器Logisti回归是一个使用Sigmoid作为激活函数的一层神经网络。激活函数Sigmoid作用:将一个实数输入转化为0~1之间的输出。原创 2021-03-13 17:23:49 · 593 阅读 · 0 评论 -
Pytorch学习日志(3)——回归问题
基本知识1.监督学习分为回归问题与分类问题;2.回归问题输出连续的变量,而分类问题输出离散的变量;3.回归,指研究一组随机变量(Y1 ,Y2 ,…,Yi)和另一组(X1,X2,…,Xk)变量之间关系的统计分析方法二分类算法——Logistic回归起源人口数量增长、微生物增长…Logistic分布X是连续的随机变量服从Logistic分布是指其分布函数和密度函数如下:二分类的Logistic回归目的是找到一个区分度足够好的决策边界。基本方法是通过决策函数的符号来判断其属于哪一类。∑原创 2021-03-13 10:37:03 · 315 阅读 · 1 评论 -
Pytorch学习日志(2)——线性模型
问题介绍很多个数据点,希望能找到一个函数来你和这些数据点,使其误差最小。我们从一位线性回归入手。一维线性回归我们从一元函数入手。目标函数为f(xi)=ωxi+bf(x_i) = \omega x_i +bf(xi)=ωxi+b那么我们如何确定参数w和b呢?只需要衡量f(x)和y的差别。我们可以用它们之间的距离差异:Loss=∑i=1m(f(xi)−yi)2Loss = \sum_{i=1}^m(f(x_i)-y_i)^2Loss=i=1∑m(f(xi)−yi)2取平方原创 2021-03-03 19:25:01 · 176 阅读 · 0 评论 -
Pytorch学习日志(1)——基础
Pytorch学习日志(1)基本信息print(torch.__version__) #显示pytorch版本print(torch.cuda.is_available()) #显示是否支持cuda张量(Tensor)类型类型代码32位浮点型torch.FloatTensor/torch.Tensor64位浮点型torch.DoubleTensor16位整型torch.ShortTensor32位整型torch.IntTenson64位整型原创 2021-03-01 20:31:11 · 467 阅读 · 1 评论