PyTorch深度学习实践
文章平均质量分 52
笔记
CarmenHu
这个作者很懒,什么都没留下…
展开
-
《PyTorch深度学习实践》第十三讲RNN进阶
双向循环神经网络的作用是在处理序列数据时,提供更全面、更准确的上下文信息,能够捕获序列中前后关系,对于很多序列处理任务(例如自然语言处理、语音识别等)的效果都有很大的提升。在本代码中,设置了 bidirectional=True,意味着使用双向 GRU,提取的特征包含了正向和反向的信息。在正向部分中,输入数据从前往后进行处理,而在反向部分中,输入数据从后往前进行处理。与传统的循环神经网络只考虑历史时刻的信息不同,双向循环神经网络不仅考虑历史时刻的信息,还考虑未来时刻的信息。原创 2024-03-01 22:03:18 · 314 阅读 · 0 评论 -
《PyTorch深度学习实践》第十二讲循环神经网络基础
比如,我们可以通过将前三天每天的特征(是否下雨,是否有太阳等)输入到网络,从而来预测第四天的天气。RNN网络最大的特点就是可以处理序列特征,就是我们的一组动态特征。把input变为稠密的数据。二、RNN cell用法。四、Embedding。原创 2024-03-01 17:48:01 · 291 阅读 · 0 评论 -
《PyTorch深度学习实践》第十一讲卷积神经网络进阶
2、先是1个卷积层(conv,maxpooling,relu),然后inceptionA模块(输出的channels是24+16+24+24=88),接下来又是一个卷积层(conv,mp,relu),然后inceptionA模块,最后一个全连接层(fc)。先是1个卷积层(conv,maxpooling,relu),然后ResidualBlock模块,接下来又是一个卷积层(conv,mp,relu),然后esidualBlock模块模块,最后一个全连接层(fc)。2、1x1卷积核,不同通道的信息融合。原创 2024-03-01 15:38:56 · 613 阅读 · 0 评论 -
《PyTorch深度学习实践》第十讲卷积神经网络基础
2、self.fc = torch.nn.Linear(320, 10),这个320获取的方式,可以通过x = x.view(batch_size, -1) # print(x.shape)可得到(64,320),64指的是batch,320就是指要进行全连接操作时,输入的特征维度。2、卷积(convolution)后,C(Channels)变,W(width)和H(Height)可变可不变,取决于是否padding。5、卷积(线性变换),激活函数(非线性变换),池化;3、卷积层:保留图像的空间信息。原创 2024-03-01 11:59:23 · 1048 阅读 · 0 评论 -
《PyTorch深度学习实践》第九讲多分类问题
3、多分类问题,标签y的类型是LongTensor。比如说0-9分类问题,如果y = torch.LongTensor([3]),对应的one-hot是[0,0,0,1,0,0,0,0,0,0].(这里要注意,如果使用了one-hot,标签y的类型是LongTensor,糖尿病数据集中的target的类型是FloatTensor)(但是标签的one-hot编码是算法完成的,算法的输入仍为原始标签)2、torch.max的返回值有两个,第一个是每一行的最大值是多少,第二个是每一行最大值的下标(索引)是多少。原创 2024-02-29 18:07:35 · 389 阅读 · 0 评论 -
《PyTorch深度学习实践》第八讲加载数据集
用来帮助我们加载数据,比如说做shuffle(提高数据集的随机性),batch_size,能拿出Mini-Batch进行训练。做了两个实验:(1)输出每批次的loss,不收敛,loss在0.6上下浮动(2)每个epoch都不分批,把所有样本都输入,收敛,最后结果在0.6附近。5、inputs, labels = data中的inputs的shape是[32,8],labels 的shape是[32,1]。4、len函数的返回值 除以 batch_size 的结果就是每一轮epoch中需要迭代的次数。原创 2024-02-29 16:49:02 · 452 阅读 · 0 评论 -
《PyTorch深度学习实践》第七讲多维特征的输入
3、该神经网络共3层;第一层是8维到6维的非线性空间变换,第二层是6维到4维的非线性空间变换,第三层是4维到1维的非线性空间变换。2、学习能力越强,有可能会把输入样本中噪声的规律也学到。我们要学习数据本身真实数据的规律,学习能力要有泛化能力。1、乘的权重(w)都一样,加的偏置(b)也一样。b变成矩阵时使用广播机制。神经网络的参数w和b是网络需要学习的,其他是已知的。4、本算法中torch.nn.Sigmoid() # 将其看作是网络的一层,而不是简单的函数使用。原创 2024-02-29 15:43:53 · 415 阅读 · 0 评论 -
《PyTorch深度学习实践》第六讲逻辑斯蒂回归
5、代码F.sigmoid(self.linear(x))会引发warning,此处更改为torch.sigmoid(self.linear(x))BCELoss 是CrossEntropyLoss的一个特例,只用于二分类问题,而CrossEntropyLoss可以用于二分类,也可以用于多分类。2、sigmoid函数:函数值有极限,单调增函数,是饱和函数(导数图像两端趋于0,中间像正态分布)。最常见的sigmoid函数是逻辑斯蒂函数。1、逻辑斯蒂函数,使结果映射到(0,1)之间。原创 2024-02-29 12:29:20 · 178 阅读 · 0 评论 -
《PyTorch深度学习实践》第五讲线性回归
1、Module实现了魔法函数__call__(),call()里面有一条语句是要调用forward()。因此新写的类中需要重写forward()覆盖掉父类中的forward()3、Construct loss and optimizer (using PyTorch API) 其中,计算loss是为了进行反向传播,optimizer是为了更新梯度。2、call函数的另一个作用是可以直接在对象后面加(),例如实例化的model对象,和实例化的linear对象。3、 每一次epoch的训练过程,总结就是。原创 2024-02-28 21:42:42 · 271 阅读 · 0 评论 -
《PyTorch深度学习实践》第四讲反向传播
调用该方法后w.grad由None更新为Tensor类型,且w.grad.data的值用于后续w.data的更新。l.backward()会把计算图中所有需要梯度(grad)的地方都会求出来,然后把梯度都存在对应的待求的参数中,最终计算图被释放。2、pytorch基本数据类型tensor,tensor中包含data和grad,其中grad为loss对data的偏导数。1、w是Tensor, forward函数的返回值也是Tensor,loss函数的返回值也是Tensor。第100轮:损失9.0e-13。原创 2024-02-28 20:13:00 · 315 阅读 · 0 评论 -
《PyTorch深度学习实践》第三讲梯度下降算法
1、损失函数由cost()更改为loss()。cost是计算所有训练数据的损失,loss是计算一个训练数据的损失。2、梯度函数gradient()由计算所有训练数据的梯度更改为计算一个训练数据的梯度。随机梯度下降法在神经网络中被证明是有效的。效率较低(时间复杂度较高),学习性能较好。3、本算法中的随机梯度主要是指,每次拿一个训练数据来训练,然后更新梯度参数。一、对数据集所有元素求loss,后求平均得cost。原创 2024-02-28 19:07:59 · 306 阅读 · 0 评论 -
《PyTorch深度学习实践》第二讲线性模型
【代码】《PyTorch深度学习实践》第二讲线性模型。原创 2024-02-28 17:33:45 · 361 阅读 · 0 评论