pytorch
文章平均质量分 57
记录
(ノへ ̄、)。
菜鸟新人
展开
-
pytorch之NIN
LeNet、AlexNet和VGG在设计上的共同之处是:先以由卷积层构成的模块充分抽取空间特征,再以由全连接层构成的模块来输出分类结果。其中,AlexNet和VGG对LeNet的改进主要在于如何对这两个模块加宽(增加通道数)和加深。本节我们介绍网络中的网络(NiN)。它提出了另外一个思路,即串联多个由卷积层和“全连接”层构成的小网络来构建一个深层网络import timeimport torchfrom torch import nn, optimimport syssys.path.app原创 2022-04-21 19:28:37 · 1053 阅读 · 0 评论 -
VGG网络
1. VGG块VGG块的组成规律是:连续使用数个相同的填充为1、窗口形状为3 × 3 3\times 33×3的卷积层后接上一个步幅为2、窗口形状为2 × 2 2\times 22×2的最大池化层。卷积层保持输入的高和宽不变,而池化层则对其减半。我们使用vgg_block函数来实现这个基础的VGG块,它可以指定卷积层的数量和输入输出通道数。import timeimport torchfrom torch import nn, optimimport syssys.path.appen.原创 2022-04-21 19:21:45 · 153 阅读 · 0 评论 -
深度卷积神经网络(AlexNet)
1.AlexNetAlexNet与LeNet的设计理念非常相似,但也有显著的区别。第一,与相对较小的LeNet相比,AlexNet包含8层变换,其中有5层卷积和2层全连接隐藏层,以及1个全连接输出层。下面我们来详细描述这些层的设计。AlexNet第一层中的卷积窗口形状是11 × 11 因为ImageNet中绝大多数图像的高和宽均比MNIST图像的高和宽大10倍以上,ImageNet图像的物体占用更多的像素,所以需要更大的卷积窗口来捕获物体。第二层中的卷积窗口形状减小到5 × 5 ,之后全采用3.原创 2022-04-21 19:09:49 · 981 阅读 · 0 评论 -
卷积神经网络(LeNet)
使用多层感知机构造一个含单隐藏层的多层感知机模型来对Fashion-MNIST数据集中的图像进行分类。每张图像高和宽均是28像素。我们将图像中的像素逐行展开,得到长度为784的向量,并输入进全连接层中。然而,这种分类方法有一定的局限性。1、图像在同一列邻近的像素在这个向量中可能相距较远。它们构成的模式可能难以被模型识别。2、对于大尺寸的输入图像,使用全连接层容易造成模型过大。假设输入是高和宽均为1000像素的彩色照片(含3个通道)。即使全连接层输出个数仍是256,该层权重参数的形状是3 , 000..原创 2022-04-21 17:51:30 · 360 阅读 · 0 评论 -
pytorch之池化层
·实际图像里,我们感兴趣的物体不会总出现在固定位置:即使我们连续拍摄同一个物体也极有可能出现像素位置上的偏移。这会导致同一个边缘对应的输出可能出现在卷积输出 Y中的不同位置,进而对后面的模式识别造成不便。在本节中我们介绍池化(pooling)层,它的提出是为了缓解卷积层对位置的过度敏感性二维最大池化层和平均池化层同卷积层一样,池化层每次对输入数据的一个固定形状窗口(又称池化窗口)中的元素计算输出。不同于卷积层里计算输入和核的互相关性,池化层直接计算池化窗口内元素的最大值或者平均值。该...原创 2022-04-21 14:31:15 · 6221 阅读 · 0 评论 -
卷积层的通道
很多真实数据的维度经常更高。例如,彩色图像在高和宽2个维度外还有RGB(红、绿、蓝)3个颜色通道。假设彩色图像的高和宽分别是h hh和w ww(像素),那么它可以表示为一个3 × h × w 的多维数组。我们将大小为3的这一维称为通道(channel)维。本节我们将介绍含多个输入通道或多个输出通道的卷积核。1. 多输入通道个人理解:就是在输入数据多维度的情况下,卷积核也要有多维度的...原创 2022-04-21 10:20:23 · 1135 阅读 · 0 评论 -
卷积层里面的填充与步幅
1、填充填充(padding)是指在输入高和宽的两侧填充元素(通常是0元素)。图5.2里我们在原输入高和宽的两侧分别添加了值为0的元素,使得输入高和宽从3变成了5,并导致输出高和宽由2增加到4。图5.2中的阴影部分为第一个输出元素及其计算所使用的输入和核数组元素:下面的例子里我们创建一个高和宽为3的二维卷积层,然后设输入高和宽两侧的填充数分别为1。给定一个高和宽为8的输入,我们发现输出的高和宽也是8。import torchfrom torch import nn# 定义一个...原创 2022-04-20 11:24:19 · 498 阅读 · 0 评论 -
pytorch之卷积层
卷积神经网络(convolutional neural network)是含有卷积层(convolutional layer)的神经网络。本章中介绍的卷积神经网络均使用最常见的二维卷积层。它有高和宽两个空间维度,常用来处理图像数据。二维卷积运算在二维卷积层中,一个二维输入数组和一个二维核(kernel)数组通过互相关运算输出一个二维数组。...原创 2022-04-19 19:19:59 · 498 阅读 · 0 评论 -
pytorch之房价预测
获取和读取数据集我们将通过pandas库读入并处理数据# 如果没有安装pandas,则反注释下面一行# !pip install pandas%matplotlib inlineimport torchimport torch.nn as nnimport numpy as npimport pandas as pdimport syssys.path.append("..") import d2lzh_pytorch as d2lprint(torch.__version原创 2022-04-15 22:14:44 · 774 阅读 · 0 评论 -
神经网络基础之文件读写
有时我们希望保存训练的模型, 以备将来在各种环境中使用(比如在部署中进行预测)。 此外,当运行一个耗时较长的训练过程时, 最佳的做法是定期保存中间结果, 以确保在服务器电源被不小心断掉时,我们不会损失几天的计算结果。 因此,现在是时候学习如何加载和存储权重向量和整个模型了。加载和保存张量对于单个张量,我们可以直接调用load和save函数分别读写它们。 这两个函数都要求我们提供一个名称,save要求将要保存的变量作为输入import torchfrom torch import nnfro原创 2022-04-15 15:24:35 · 147 阅读 · 0 评论 -
神经网络基础之参数
在选择了架构并设置了超参数后,我们就进入了训练阶段。 此时,我们的目标是找到使损失函数最小化的模型参数值。 经过训练后,我们将需要使用这些参数来做出未来的预测。 此外,有时我们希望提取参数,以便在其他环境中复用它们, 将模型保存下来,以便它可以在其他软件中执行, 或者为了获得科学的理解而进行检查import torchfrom torch import nnnet = nn.Sequential(nn.Linear(4, 8), nn.ReLU(), nn.Linear(8, 1))#通过s..原创 2022-04-15 15:03:18 · 778 阅读 · 0 评论 -
神经网络基础之模型构造
基础知识层和块为了实现这些复杂的网络,我们引入了神经网络块的概念。 块(block)可以描述单个层、由多个层组成的组件或整个模型本身。 使用块进行抽象的一个好处是可以将一些块组合成更大的组件,继承Module类来构造模型Module类是nn模块里提供的一个模型构造类,是所有神经网络模块的基类,我们可以继承它来定义我们想要的模型。下面继承Module类构造本节开头提到的多层感知机Module的子类Module类是一个通用的部件,我们可以继承Module 类来创建其他类比如:Se..原创 2022-04-15 14:23:03 · 1225 阅读 · 0 评论 -
权重衰减与丢弃法
为了解决过拟合问题,我们提出了两种方法去解决这个问题一、权重衰退二、丢弃法我们又提出了丢弃法这个算法,比权重衰退更好丢弃法就是在不改变输入的期望值的情况下,把神经网络的某些结构给删减了...原创 2022-04-10 15:22:34 · 1195 阅读 · 0 评论 -
pytorch之感知机
感知机就是一个神经网络模型单层感知机二分类(多个输入只能有一个输出)调整权重我们在识别猫狗的时候有权重,就像是下面那根界限(权重)一样区分了猫狗。下一次识别新的猫狗的时候我们发现我们之前的界限摆歪了,这样的话我们就会重新调整棍子(权重)的摆放,划分猫狗的界限,这样一次一次的调整完全部的样本,越调区分猫狗的界限越精确。单层的感知机不能拟合X0R函数,因为模型是线性的,只能参生一个根线去切割面多层感知机多层二分类可以拟合XOR模型激活函数是用来加入非线性因素.原创 2022-04-08 21:32:25 · 575 阅读 · 0 评论 -
pytorch之线性回归
这是我根据李沐学AL的视频学来的,我自己的总结线性回归理论推导基础理论线性回归模型是一个线性的模型(函数是一个线性函数),模型函数比较简单,就相当于一个单层的神经网络常用在房价预测,录取大学生预测,股票价格走势预测W 就是权重,x1,x2,x3等经过不同的权重,汇聚成了我们要的线性模型,因为带权重的层只有一层,我们把它看成单层的神经网络损失函数为了找出最合适的W,b我们设定下面这个函数来求出合适的值优化方法我们一般采用梯度法(一阶求导)梯度:是..原创 2022-03-25 21:34:52 · 1433 阅读 · 0 评论 -
pytorch之Softmax回归
理论推导简介softmax回归模型,实际是一个分类模型,与线性回归模型有很多不同的地方(与线性回归一样都是一个单层的神经网络)分类问题介绍输入图片的每一个像素值都可以用一个标量表示,我们将图片中的4个像素用 x1,x2,x3,x4表示假设训练数据集中图像的真实标签为狗、猫或鸡(假设可以用4像素表示出这3种动物),这些标签分别对应离散值y 1 , y 2 , y 3softmax回归模型softmax回归跟线性回归一样将输入特征与权重做线性叠加。与线性回归的一个主要不同在于,s原创 2022-04-07 21:02:38 · 1574 阅读 · 0 评论