- 博客(10)
- 收藏
- 关注
原创 编程实现LSTM
注意:nn.LSTM参数与nn.LSTMCell不同,还需设置num_layers。注:nn.LSTMCell与nn.LSTM实现过程中参数均默认,未修改。nn.LSTM输入为批次输出,nn.LSTMCell输入为当前序列。输出结果验证,当x2=1时,记住x1,故输入门和遗忘门均为1。将lstm函数中的tanh函数去掉,得到和例题中相同结果。numpy中没有sigmod函数,编写。x2=-1时,清空记忆,故遗忘门为0。x3=1,输出结果,故输出门为1。与自己编写的lstm结果大致相同。
2024-12-08 19:23:21
401
原创 实验十 卷积神经网络(一)
# 自定义二维卷积算子# # 初始化参数# # 卷积后图像的大小,X.shape[0]为样本数量# output[:, i, j] = torch.sum(X[:, i:i+u, j:j+v]*self.weight, dim=[1, 2]) # 张量广播机制# 定义带步长和零填充的二维卷积算子# # 零填充后矩阵大小# 定义多通道卷积层算子p = 0for w, b in zip(self.weight, self.bias): # P个(w,b),每次计算一个特征图Zp。
2024-11-10 17:48:37
299
原创 CNN作业七
池化是卷积神经网络中的一个重要操作,即对卷积层输出的特征图进行约减,选取特定区域内的最大值(最大池化,Max Pooling)或平均值(平均池化,Mean Pooling)等作为该区域的输出。图像像素为116,第一次卷积后为116-3+1=114,池化后114/2=57,第二次卷积57-3+1=55,池化55/2=27.5,向下取整故为27。定义卷积层2,输入通道为9,(上一个卷积层输出9),输出通道5,卷积核大小为3×3。增加一个卷积层,输入通道5(卷积2输出通道数5),输出3,卷积核大小3*3。
2024-11-05 17:06:24
868
原创 神经网络作业6
1.对于进行卷积的图像来说,从图形二和图形三的矩阵表示形式可以看出,矩阵会变小2.从图像1的图形表示,可以看出卷积可以提取图像特征,对于图像1来说,由黑变白是个明显的特征,于是卷积操作将该提取出来3.不同的卷积对图像的提取有不同的结果由图像2的结果来看,(-1,1)提取列方向的特征,(-1,1)T提取行方向的特征。
2024-10-30 00:34:16
467
原创 实验六 基于前馈神经网络的二分类问题
定义backward()实现偏导计算,因参数较多,使用链式法则。全连接层实现权重和偏置的加权和,还需激活函数进行激活。
2024-10-20 12:14:43
357
原创 实验五 前馈神经网络(1)
torch.nn.functional.sigmoid更适合在定义神经网络的前向传播函数时使用。torch.sigmoid更适合在不需要显式定义神经网络层,只是需要在某个张量上计算Sigmoid函数时使用。同时,发现torch.nn.functional.sigmoid与torch.sigmoid实现效果相同。输入的X的为五个特征的两个样本,故建立的全连接中权重值为5,实现结果与pytorch计算相同。我将几个激活函数绘制到同一张图像上,发现结果与以上实现结果相同。使用公式实现上述四种激活函数。
2024-10-11 19:13:15
375
原创 NNDL作业四 FNN-BP原理
Sigmoid函数的损失Relu激活函数的损失从以上两张图片,可以明显且直观地感受到Relu激活函数的收敛明显好于Sigmoid激活函数在进行梯度求导时,代码遇到以上问题,经过上网查询也未能解决,若大家知道解决办法欢迎评论区指正。x = torch.tensor([0.5, 0.3], requires_grad=False) # 输入,不需要梯度y = torch.tensor([0.23, -0.07], requires_grad=False) # 目标,不需要梯度。
2024-10-07 18:36:58
516
原创 Pytorch实现Logistic回归的二分类和Softmax回归的多分类,以及鸢尾花集分类的实例
【代码】Pytorch实现Logistic回归的二分类和Softmax回归的多分类,以及鸢尾花集分类的实例。
2024-10-07 03:56:48
331
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1