深度学习——Pytorch
文章平均质量分 53
记录学习深度学习与Pytorch框架
搁浅丶.
这个作者很懒,什么都没留下…
展开
-
完整的模型训练
然后将 .cuda()改成 .to(device)原创 2023-04-08 16:37:02 · 78 阅读 · 0 评论 -
现有网络模型的使用及简单修改
以VGG16为例pretrained设置为True时代表预训练好的模型,默认为False,VGG是在ImageNet数据集中训练的progress默认为True会会展示一个训练的进度条。原创 2023-04-05 19:41:16 · 65 阅读 · 0 评论 -
优化器optimizer
根据反向传播获得的梯度优化参数,loss开始下降,然后又上升了。在我们的网络中加入SGD。截取部分,运行有点慢。原创 2023-04-05 17:27:27 · 146 阅读 · 0 评论 -
反向传播backward
原理与过程待补充……各参数拿到了其对应的梯度。原创 2023-04-05 17:06:29 · 45 阅读 · 0 评论 -
损失函数LossFunction
每一个样本经过模型后会得到一个预测值,然后得到的预测值和真实值的差值就成为损失(损失值越小证明模型越是成功),损失函数就是用于。原创 2023-04-05 16:20:58 · 111 阅读 · 0 评论 -
构建简单的神经网络用于CIFAR10分类
根据第一个公式,已知Hout = 32, Hin = 32,dilation = 1, kernel_size = 5,取stride = 1,可以计算出padding = 2。,其实就是要让卷积核的中心经过原输入图像矩阵的每一个数据,把卷积核的中心放到图像的边缘会发现h和w都高出2格,那么只要hw各填充2格就可以了。输入为为3通道,32*32尺寸的CIFA10数据集的图,最后输出为10,也就是完成10个分类。根据卷积的原理,大小为5的卷积核,怎么样改变原图的hw才能卷积出。注:只是完成了网络模型的搭建。原创 2023-04-05 15:33:48 · 248 阅读 · 0 评论 -
Sequential的使用
把网络中的层进行集合,主要是方便操作。两种使用方法,如上图example,比较简单。具体实例可以看下一节。原创 2023-04-05 14:41:55 · 36 阅读 · 0 评论 -
神经网络之——线形层
原点代表输入的每一个特征,图像就是每一个像素点,传入到每个神经元,进行∑Wi * Xi+bi的操作。所以输入的数据需要展平成列向量(将c h w展平)。需要传入输入的特征数input,output需要神经元个数。先对输入数据进行展平操作,将每个特征输入10个神经元中。截取了其中一张图的结果。原创 2023-04-04 20:36:02 · 111 阅读 · 0 评论 -
神经网络——非线性激活
如果不用非线性激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,这种情况就是最原始的感知机(Perceptron)。如果使用的话,激活函数给神经元,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中,。下面介绍介绍两个非线性激活函数。原创 2023-04-04 19:45:10 · 143 阅读 · 0 评论 -
神经网络——最大池化层
取池化核所对应位置的最大值:保留数据特征的同时减少数据量,提高速度关于ceil_mode:池化核在移动到边界时如果超出,是否仍进行池化操作。原创 2023-04-03 11:54:09 · 38 阅读 · 0 评论 -
神经网络-卷积层
原理已经在上一篇进行解释。原创 2023-04-03 11:29:08 · 38 阅读 · 0 评论 -
卷积操作的基本原理
设置一个卷积核,然后与输入图像从左到右,从上到下移动,对应位置相乘相加再加上偏置项便是卷积后的输出。为卷积核每次移动的步长,可以设置一个数,那么平行和垂直移动步长都是一样的,也可以传入一个元组来分别设置平行和垂直步长。为用0填充四周多少行/列,也可以使用元组为h和w分别设置填充数量。t需要一个带4个参数的tensor,包括样本数,通道数,高和宽。原创 2023-04-02 14:41:34 · 227 阅读 · 0 评论 -
神经网络的基本骨架——nn.Module的使用
这是官网给出的一个示例,首先继承父类nn.Module并初始化,然后重载前向传播foward方法。forward函数实现了__call__方法,因此直接传入参数便调用了forward方法。是所有神经网络模块的基本类,所有神经网络都需要继承实现它。原创 2023-04-02 14:08:33 · 130 阅读 · 0 评论 -
Dataloader的使用
左图drop_last=False,右图drop_last=True。这里设置shuffle为False可以看到两次epoch都一样。截取了前两次batch,可以看到他是一个64维的tensor。输出到TensorBoard中看下。看看Dataloder的输出。原创 2023-04-01 19:36:08 · 271 阅读 · 0 评论 -
torchvision中数据集的使用
torchvison是专门用于计算机视觉的一个模块,在模块中内置了非常多现成的数据集,如下图所示:以下操作以一个较小的数据集——CIFAR-10数据集为例。原创 2023-04-01 18:22:21 · 218 阅读 · 0 评论 -
Transforms的使用
主要是对图片进行一些变化的工具箱。原创 2023-03-31 22:13:35 · 422 阅读 · 0 评论