![](https://img-blog.csdnimg.cn/02edde955a68403a8d211fa3a839fe74.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
深度学习算法
文章平均质量分 57
根据《动手学习深度学习》一书学习
FibonacciCode
因为热爱而坚持,因为坚持而卓越
展开
-
weight decay 的矩阵描述
矩阵求导原创 2023-01-18 16:17:35 · 426 阅读 · 0 评论 -
李沐《动手学习深度学习》train_epoch_ch3问题
train_epoch_ch3问题原创 2023-01-17 16:48:54 · 1075 阅读 · 0 评论 -
仿射函数的仿射函数还是仿射函数
仿射函数的叠加原创 2023-01-13 08:19:19 · 355 阅读 · 0 评论 -
Softmax计算技巧
softmax计算技巧原创 2023-01-12 16:09:45 · 726 阅读 · 0 评论 -
../d2l/torch.py中的lambda表达式
../d2l/torch.py中的lambda表达式原创 2023-01-11 19:24:40 · 304 阅读 · 0 评论 -
机器学习的一般框架
机器学习一般框架原创 2023-01-10 14:00:50 · 776 阅读 · 0 评论 -
使用cross-entropy (交叉熵)定义loss的概率意义
使用cross-entropy loss(交叉熵)定义loss的概率意义原创 2023-01-10 09:53:26 · 446 阅读 · 0 评论 -
训练过程可视化
class Accumulator: #@save """在`n`个变量上累加。""" def __init__(self, n): self.data = [0.0] * n def add(self, *args): self.data = [a + float(b) for a, b in zip(self.data, args)] def reset(self): self.data = [0.0] * l...原创 2021-06-22 15:42:32 · 1528 阅读 · 0 评论 -
pytorch之trainer.zero_grad()
在下面的代码中,在每次l.backward()前都要trainer.zero_grad(),否则梯度会累加。num_epochs = 3for epoch in range(num_epochs): for X, y in data_iter: l = loss(net(X), y) trainer.zero_grad() l.backward() trainer.step() l = loss(net(features),原创 2021-06-22 08:55:47 · 2636 阅读 · 0 评论 -
pytorch之object.grad.zero_()
object.grad.zero_()的意思是清0object的梯度值。下面做个实验。x = torch.arange(4.0)x.requires_grad_(True)x.grad# 注意此时为None,不为0y = 2 * torch.dot(x, x)y.backward()x.grad# tensor([ 0., 4., 8., 12.])x.grad.zero_()x.grad# tensor([0., 0., 0., 0.])在默认情况下,PyTorch会.原创 2021-06-21 17:29:47 · 2084 阅读 · 0 评论 -
pytorch之with torch.no_grad
在使用pytorch时,并不是所有的操作都需要进行计算图的生成(计算过程的构建,以便梯度反向传播等操作)。而对于tensor的计算操作,默认是要进行计算图的构建的,在这种情况下,可以使用 with torch.no_grad():,强制之后的内容不进行计算图构建。下面针对是否使用torch.no_grad()做个实验。1. 不使用torch.no_grad()import torchx = torch.arange(4.0)x.requires_grad_(True)# 默认是要进行计算图的构原创 2021-06-21 17:09:21 · 416 阅读 · 0 评论 -
(一)卷积网络之基础要点
一、提出问题对于生活生产中的表格数据,至多也就上百维,而且表格数据的行与行之间没有序列和位置上的关系,所以用传统的机器学习算法就可轻松的解决这些问题。但是到了图片数据,传统机器学习就非常吃力了,一个普通的RGB图片,怎样向量化?传统机器学习的输入都是向量。如果强制把一个RGB图片拉成向量,会出现三个问题:向量纬度会非常大,模型的参数非常多;强制把RGB图片拉成向量,丢失了像素的位置关系,这对于图片数据来说是最大的问题;算法对于向量过于敏感,因为对于图片来说更多的是多个具有结构的像素才具有意义,不像原创 2020-11-26 21:36:15 · 120 阅读 · 0 评论 -
基于mxnet的Regression问题Kaggle比赛代码框架
一、概述书中3.16节扩展一下可以作为kaggle比赛的框架,这个赛题的名字是House Prices: Advanced Regression Techniques,是一个Regression问题。二、Deeplearning的一般流程结合李航《统计学习方法》中对机器学习流程的总结,分为data、model、strategy、algorithm、training、prediction1、 Data1.1、read data# read datatrain_data = pd.read_csv原创 2020-11-22 22:10:16 · 104 阅读 · 0 评论 -
面向对象方法使用gluon
一、面向过程与面向对象的优缺点面向过程使用mxnet,就是使用gluon封装好的对象,不加改动的表达机器学习的逻辑过程,其特点是方便、快捷,缺点是不够灵活(虽然可以应对90%以上的问题了),面向对象基于继承、多态的性质,对原有的gluon类进行了继承重写,并在不改变应用接口的情况下(基于多态),灵活的改写原有类,使之更加符合用户特殊需求。本文从自定义模型、自定义层、自定义初始化三个方面说明gluon的继承重写,这三个基本操作足够用户随心所欲的创造模型了。二、自定义模型1、定义静态模型静态模型就是实例原创 2020-11-22 12:28:32 · 193 阅读 · 1 评论 -
从0实现三层神经网络
本文目标分享李沐老师关于深度学习的观点:1⃣️从实践的角度入手深度学习可能比单纯的研究算法更好;2⃣️如果想学习深度学习,要只用简单的数据结构,譬如numpy、NDArray,从0实现一个深度学习算法,这样才能碰到进而解决深度学习中的许多核心问题,也可以更好的理解现在流行的框架;3⃣️从应用的角度,那就直接上现成的框架,结合真实数据不断练习,调得一手好参;结合李航《统计学习方法》中的观点,总结出机器学习(深度学习)的一般代码框架,具体看代码。机器学习的一般框架从0实现版# -*- coding原创 2020-11-08 16:57:49 · 112 阅读 · 0 评论 -
稠密连接网络(DenseNet)
普通块稠密块其本质是把映射为如下:DenseNet网络直观认识用数学式子表达是:参考文献1 Dive into Deep Learning;2https://mp.csdn.net/console/editor/html/104410253...原创 2020-02-20 15:08:32 · 1816 阅读 · 1 评论 -
残差网络(ResNet)
普通块残差块现在一个大概的理解是,增加x这条“短路”后,肯定优于(恒等映射),可以考虑两种情况:可以拟合出远远高于(恒等映射),或者根本拟合不出高于高于(恒等映射)的效果,那么至少让的拟合成(零映射)是容易办到的,这样的效果就近似于一个(恒等映射)。残差网络参考文献1 上面的图片来自于Dive into Deep Learning;...原创 2020-02-20 12:00:46 · 835 阅读 · 0 评论 -
Fashion-MNIST数据集离线加载办法
从MXNet上下载了数据集,从其它地方下载的数据集会出现校验不通过而重复下载,使用书中代码就是在Mxnet上下载数据集; 数据完全下载后,找到数据后,新建一个目录,譬如叫做./data/fashion-mnist,把数据放到此目录中(放的是.gz文件); 修改utils.py中如下两行代码:mnist_train = gdata.vision.FashionMNIST(root=r'/ho...原创 2020-02-03 10:28:21 · 1173 阅读 · 3 评论