- 博客(26)
- 收藏
- 关注
原创 使用PyTorch框架实现CIFAR-10图像分类模型的训练和评估
最重要的部分是模型设计部分,建议先在纸上计算一个批次数据通过卷积、池化等部分变化的整个流程,然后再动手写代码会快很多。
2024-10-20 00:00:52 172
原创 Batch Normalization
训练深度神经网络很复杂,因为在训练过程中随着之前层参数的改变,每层输入的分布也会发生变化。这减缓了训练速度。称这种现象为内部协变量偏移,并且通过规范化层输入来解决问题。
2024-10-16 10:54:35 192
原创 GoogleNet
随时可用的密度构建块来近似预期最佳稀疏结构是一个可行的方法来提高用于计算机视觉的神经网络。相比于之前浅的不宽的网络,这个方法主要优点是适度增加计算资源的前提下,模型质量显著获利。既不利用上下文,也没有执行边界框回归,但我们的检测工作是有竞争力的。稀疏结构是可行的和有用的想法。在【2】基础上以自动方式创造稀疏且更精练的结构是有希望的。
2024-10-14 21:19:54 105
原创 DataLoader使用的Map-style datasets 和 Iterable-style datasets的区别
Map-style datasets是一个可以通过索引来访问数据的集合,定义的类中要实现__len__()和__getitem__()这两种方法。Iterable-style datasets不能通过索引访问,只能通过迭代方式逐个访问,定义的类中要实现__iter()__方法。Iterable-style datasets是动态生成、大小不固定、不支持随机访问不支持shuffle操作的数据集。Map-style datasets是静态存储、大小固定、随机访问且支持shuffle操作的数据集。
2024-09-11 21:12:24 243
原创 5.6--AlexNET
例如:由于数据和硬件的发展,2012年Alexnet深度卷积神经网络横空出世,其相比于之前LeNet的特点有网络模型更宽更深,也就是网络的参数量增加,此外将sigmoid激活函数改成ReLU激活函数,并且使用dropout方法,防止模型过拟合的问题。这里定义模型使用的方法是继承nn.Module,以类的形式定义模型,好处是模型结构一目了然,并且这种方法能自动初始化模型参数。有一些注释是我自己添加的nn.ReLU(),# 最大池化计算类似于卷积,多了一个dilation扩大参数。
2024-09-08 15:56:03 425
原创 5.1--二维卷积层
卷积神经网络最常见和使用的是二维卷积层,它有高和宽两个空间维度,常用来处理图像数据。本节我们将介绍简单形式的二维卷积层的工作原理。输出结果:三、图像中物体边缘检测输出结果:输出结果:输出结果:输出结果:总结:这节中学到怎样定义一个卷积层,以及通过正向传播、反向传播、梯度下降来修改卷积核的参数。
2024-07-27 11:06:00 288
原创 3.13--丢弃法
上一节对于少样本数据使用L2正则化即权重衰减可以防止过拟合,这一节通过对模型参数丢弃也可以防止过拟合。1.通过张量对应位置相乘丢弃部分参数2.没有丢弃的参数除以存在概率对该参数拉伸assert 0 <= drop_prob <= 1 # drop_prob丢弃率要介于0到1之间keep_prob = 1 - drop_prob # 除以1-p做拉伸# 这种情况下把全部元素都丢弃if keep_prob == 0: # 当丢弃率为1时# 定义了一个四层网络。
2024-07-20 11:30:40 247
原创 3.11--模型选择、欠拟合和过拟合
通过Linear文档可知,pytorch已经将参数初始化了,所以我们这里就不手动初始化了# tensorDataset()参数中张量的第一维相同这一节通过控制变量法,对一个相同数据在较复杂模型、简单模型、少量数据三种情况下训练模型,观察训练出的模型在训练集和测试集上的损失函数进行比较,发现只有模型具有一定复杂量、具有充足的数据集,才能训练出较好的模型。
2024-07-16 16:08:50 163
原创 3.9--多层感知机的从零开始实现
输入数据(256,784),W1=(784,256),b1=(1,256),W2=(256,10),b2=(1,10)在torch.max()函数中,input是输入张量,other参数是用来比较的,作用是张量中每个值变成该值和other的最大值。使用方法和之前类似。
2024-07-14 17:30:54 164
原创 3.7--softmax回归的简洁实现
import sys继承nn.Module的子类中必须要有__init__()和forward()这两种方法。其中__init__中定义可学习参数的层,forward()是实现模型的功能,是实现各个层之间联系的核心。链接# 经过forward()后生成(x.shape[0], num_outputs)的张量return y。
2024-07-12 17:57:20 417
原创 3.2--线性回归从零实现
例如:本文就介绍了用pytorch对线性回归的简单实现。def linreg(X, w, b): # torch.mm是矩阵相乘函数def squared_loss(y_hat, y): # y.view将y改成y_hat.size()大小的张量,不是复制param.data -= lr * param.grad / batch_size # 注意这里更改param时用的param.data。
2024-07-08 20:47:10 283
原创 阿里云服务器下部署开源项目halo博客
中的(ii创建 Halo + MySQL 的实例:)的内容粘到docker-compose.yaml文件中,然后用xftp把文件上传到云服务器中的halo目录中。:使用宝塔的反向代理绑定域名后,通过域名就能访问该网站了,如下图,代理名称随便起,目标URL格式为http://8.130.43.237:8090/。:注意要在服务器中开放8090端口,只有开放该端口浏览器才能与halo博客程序通讯,这个网上都能找到的。:用xshell连接云服务器,输入如下命令创建halo目录并且进入该目录。
2023-02-22 23:12:35 283
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人