- 博客(29)
- 资源 (9)
- 收藏
- 关注
原创 【DQN】DQN学习小结
2、QNet训练的目标是选择动作的概率等于该动作可以获得的奖励,即该动作选择概率越大,奖励也越大。相较于基于AC策略架构的PPO,这一点DQN是优势,训练效果会很好。而AC架构将动作概率和动作奖励分为A和C网络进行训练,概率和奖励建立的联系的好坏是基于AC架构的模型训练效果好坏的关键。1、使用经验池随机采样回放训练,QNet用于训练,QTargetNet用于延迟更新继承优化参数的QNet,这可能可以跳过一些局部最优解的问题。DQN使用神经网络替代Q表,用于执行环境到动作的决策,DQN有以下两个独特的优势。
2024-06-30 23:34:27
156
原创 【损失函数设计】利用loss朝0优化的特性设计损失函数
在神经网络训练中,loss一般表示真实和预测之间的误差,通常为一个正值。网络训练中,需要求loss的函数是可微的,所以需要设计函数以达到调参的目的。假设有两个参数x、y,x定义域为(0-1],y的定义域为(-∞,+∞),需要将x优化为1,同时使y尽可能大。其中alpha和beta设置为调整函数的正值超参数。
2024-06-30 04:25:50
284
原创 【CNN】用MNIST测试各种CNN网络模型性能
除了第一个CNN为自己搭的以外,其余模型使用Pytorch官方模型,这些模型提出时是在ImageNet上进行测试,在此补充在MNIST上的测试。本次没有更改Pytorch官方模型的代码,在实际生产中还需要测试不同的架构思想结合起来开发适合的网络模型。由于此网络不支持MNIST的3通道28x28尺寸的图像,使用以下这一行代码将图像尺寸调整为32x32。训练用时:0:32:57(图像扩大到原来的1.14倍,时长仅供参考)训练用时:0:18:06(图像扩大到原来的2.32倍,时长仅供参考)
2024-06-29 17:36:15
493
原创 【梯度累积】pytorch使用梯度累积实现增大batch训练
当显卡显存不够,不足以一次放下足够的batch size时,可以先多个batch反向传播计算梯度累积后,在n个batch size之后再利用累积的梯度更新网络,实现小显存计算梯度,最后更新,达到使用大batch size更新网路的目的,适合大batch含有重要序列信息的场景。loss通过损失函数计算,然后通过反向传播计算梯度,之前批次的梯度未清零会累积到当前批次的梯度。通过不梯度清零,累积梯度,将损失平均化,使得多批次累积梯度和一大批次的梯度一致。通过梯度累积实现了模拟大batch size训练网络。
2024-06-28 01:52:50
127
原创 【CNN】cnn调参经验
6.如果全连接层后在网络内部定义了softmax()会将误差缩小,降低loss梯度的区分度,和梯度消失一样,模型训练不收敛。2.小卷积核1、3、5,大卷积核7、11,步长最好小于卷积核,使得卷积过程有覆盖,步长代表提取图像特征的精度。小卷积核更能捕获局部视野,计算量随之减小,大卷积核更注重全局,计算量增大。3.卷积核和图像尺寸不匹配,适当添加padding在图像外圈填充0,不影响结果。学习一个网络首先要了解该网络哪些参数是可学习的,这代表着这个网络的智力。卷积层(Conv),卷积核的权重和偏置。
2024-06-25 23:51:37
122
原创 【tensor】向二维tensor中添加新数据
x=0、1、2、、、分别代表增加tensor索引位置0、1、2、、的1个维度。在一维tensor中增加数据使用。在二维tensor中增加数据。dim=0,行方向添加。dim=1,列方向添加。
2024-06-20 14:16:41
203
原创 【cv】获取windows窗口图像api
速度相对适中,对于非DirectX应用,它能提供稳定的性能,但可能受限于系统和图形驱动的性能。对于快速变化或重负载的图形内容(如游戏),性能可能不佳,因为它依赖于GDI,后者可能无法直接访问GPU加速的渲染内容。由于它直接访问GPU内存,避免了CPU-GPU之间的数据复制,因此可以实现更低的延迟和更高的捕获速率,适合需要高性能屏幕捕获的场景。它能够很好地处理DirectX内容,具有较低的延迟和较高的帧率,适合现代高性能应用的屏幕捕获需求,速度表现优异。获取windows窗口图像api。
2024-06-18 23:54:30
152
原创 【Categorical()】torch.distributions.categorical.Categorical()
torch.distributions.categorical.Categorical 是PyTorch库中的一个类,它用于处理离散概率分布问题,特别是涉及在多个类别中进行选择的情况。这个类在机器学习和深度学习中非常有用,特别是在处理分类问题、强化学习的策略输出或者多分类任务的概率分布建模时。调用sample()方法来执行采样。
2024-06-15 20:55:42
240
原创 【tkinter】用python实现的带图形化界面的寻宝游戏
是一个简单的python写带图形化界面游戏的简单入门例子,也可作为神经网络和强化学习训练的游戏使用。另外csdn需要上传vip专属资源才能升级真的很坑,为了升级我上传了,但在这里免费分享。生成一个9x9的地图,宝藏生成在中间,玩家需要一格格接近宝藏获得胜利。1.游戏开始,使用wasd控制四个方向。代码即拿即用,不需要额外的库。
2024-06-09 17:46:57
162
原创 pytorch搭建简单神经网络实现y=sin(x)函数拟合
训练结果import torch#定义神经网络class NeuralNet(torch.nn.Module): def __init__(self,in_features,neureCell_numbers,out_features): super(NeuralNet, self).__init__() self.in_features=in_features self.neureCell_numbers=neureCell_numbers
2022-05-20 16:23:33
1518
1
原创 python中格式化输出format函数
a=2.123456789b=3.987654321print('a:',f'{a:.4f}','b:',f'{b:.5f}')#format简化print('a:{:.4f} b:{:.5f}'.format(a,b))#format
2022-05-19 18:48:07
153
原创 matlab使用简单神经网络实现函数逼近
matlab使用简单神经网络实现函数逼近clcclearData = -3:0.01:3;%提供训练数据集共601个,取-3到+3之间的数,步进为0.01xsize = size(Data);%获取数据总个数datasize = xsize(2);Value = zeros(1,datasize);%初始化x=sin(x)的y值for i = 1:datasize %获得y=sin(x)的y值 Value(i) = sin(Data(i));endhidesize = 1
2022-05-17 22:04:26
1281
2
原创 使用国内镜像下载vscode
在官网复制 VS Code 的下载链接,然后将链接里 stable 之前的部分替换成 vscode.cdn.azure.cn
2022-04-22 09:34:07
963
原创 python中clear和clear()
python中clear和clear()clear只会清除列表,不会删除数值所在的地址空间,clear()会删除地址空间,导致这些值被清空无法存储a=[1,2]b=[]b.append(a)b.append(a)a.clearprint(b)a.clear()print(b)‘’’[[1, 2], [1, 2]][[], []]‘’’...
2022-03-03 14:42:16
3449
原创 python学习笔记2021_11_15:python列表切分[:]和[::]的使用
python学习笔记2021_11_15:python列表切分[:]和[::]的使用a=[1,2,3,4,5]b=a[1:3]#[i:j]切分列表,返回从i到j不包含j的列表print(b)b=a[-1]#返回列表最后一个元素print('- ' * 5, 'split line', '- ' * 5)print(b)b=a[0:]#默认为全切分print('- ' * 5, 'split line', '- ' * 5)print(b)b=a[:4:2]#[i:j:k]切分列表,返回从
2021-11-15 15:09:25
516
用python实现的带图形化界面的寻宝游戏
2024-06-09
自动拆分csv文件,并存储为utf-8格式的csv文件
2022-04-04
基于pytorch实现的LSTM神经网络,使LSTM学会0-9个位以内的加法运算
2022-03-03
python机器学习新闻文章文本分类
2021-11-18
在线拍卖系统,java+jsp+servlet+mysql+ajax+css+js
2019-06-03
MFC实现记账猫软件
2017-12-22
时钟日历运行过程演示
2017-12-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人