草庐IT

nerf-pytorch

全部标签

DDPG强化学习的PyTorch代码实现和逐步讲解

深度确定性策略梯度(DeepDeterministicPolicyGradient,DDPG)是受DeepQ-Network启发的无模型、非策略深度强化算法,是基于使用策略梯度的Actor-Critic,本文将使用pytorch对其进行完整的实现和讲解DDPG的关键组成部分是ReplayBufferActor-CriticneuralnetworkExplorationNoiseTargetnetworkSoftTargetUpdatesforTargetNetwork下面我们一个一个来逐步实现:ReplayBufferDDPG使用ReplayBuffer存储通过探索环境采样的过程和奖励(Sₜ

pytorch自定义Dataset实现数据集迭代器

  今天实践一个小功能,完成pytorch读取文件夹中的wav语音文件来迭代输出,作为神经网络的数据集dataset。再前期使用tensorflow来读取大量wav文件时发现要自己封装,过程较为复杂,接口也较为乱,转到pytorch后发现框架更加pythonic。   在pytorch中,提供了一种十分方便的数据读取机制,即使用torch.utils.data.Dataset与Dataloader组合得到数据迭代器。在每次训练时,利用这个迭代器输出每一个batch数据,并能在输出时对数据进行相应的预处理或数据增强操作。   torch.utils.data.Dataset:所有的类都应该是此类

pytorch训练时使用多个dataloader

在训练神经网络时我们可能会同时使用多个dataloader,则需要在原来的enumerate(dataloader)上加入zip函数:fori,datainenumerate(zip(dataloader1,dataloader2)):pass此时,data是一个(2,2)的元组,第一行是dataloader1的data和label,第二行是dataloader2的data和label。另外,dataloader1和dataloader2的大小很有可能不一样,即len(dataloader1)!=len(dataloader2),则它会以数量最少的那个dataloader为标准停止,例如len

pytorch自定义Dataset实现数据集迭代器

  今天实践一个小功能,完成pytorch读取文件夹中的wav语音文件来迭代输出,作为神经网络的数据集dataset。再前期使用tensorflow来读取大量wav文件时发现要自己封装,过程较为复杂,接口也较为乱,转到pytorch后发现框架更加pythonic。   在pytorch中,提供了一种十分方便的数据读取机制,即使用torch.utils.data.Dataset与Dataloader组合得到数据迭代器。在每次训练时,利用这个迭代器输出每一个batch数据,并能在输出时对数据进行相应的预处理或数据增强操作。   torch.utils.data.Dataset:所有的类都应该是此类

pytorch训练时使用多个dataloader

在训练神经网络时我们可能会同时使用多个dataloader,则需要在原来的enumerate(dataloader)上加入zip函数:fori,datainenumerate(zip(dataloader1,dataloader2)):pass此时,data是一个(2,2)的元组,第一行是dataloader1的data和label,第二行是dataloader2的data和label。另外,dataloader1和dataloader2的大小很有可能不一样,即len(dataloader1)!=len(dataloader2),则它会以数量最少的那个dataloader为标准停止,例如len

CAM系列(一)之CAM(原理讲解和PyTorch代码实现)

本文首发自【简书】作者【西北小生_】的博客,转载请私聊作者!图1CAM实现示意图一、什么是CAM?CAM的全称是ClassActivationMapping或ClassActivationMap,即类激活映射或类激活图。论文《LearningDeepFeaturesforDiscriminativeLocalization》发现了CNN分类模型的一个有趣的现象:CNN的最后一层卷积输出的特征图,对其通道进行加权叠加后,其激活值(ReLU激活后的非零值)所在的区域,即为图像中的物体所在区域。而将这一叠加后的单通道特征图覆盖到输入图像上,即可高亮图像中物体所在位置区域。如图1中的输入图像和输出图像

CAM系列(一)之CAM(原理讲解和PyTorch代码实现)

本文首发自【简书】作者【西北小生_】的博客,转载请私聊作者!图1CAM实现示意图一、什么是CAM?CAM的全称是ClassActivationMapping或ClassActivationMap,即类激活映射或类激活图。论文《LearningDeepFeaturesforDiscriminativeLocalization》发现了CNN分类模型的一个有趣的现象:CNN的最后一层卷积输出的特征图,对其通道进行加权叠加后,其激活值(ReLU激活后的非零值)所在的区域,即为图像中的物体所在区域。而将这一叠加后的单通道特征图覆盖到输入图像上,即可高亮图像中物体所在位置区域。如图1中的输入图像和输出图像

基于pytorch实现模型剪枝

这几天在参加52cto博客年度博主和年度博文评选活动,希望各位读者可以帮忙投下票。点拉票可以多投2票,每天都可以投。年度博主https://blog.51cto.com/activity-selection?key=0310_0年度博文https://blog.51cto.com/activity-selection?key=0305_1一,剪枝分类所谓模型剪枝,其实是一种从神经网络中移除"不必要"权重或偏差(weigths/bias)的模型压缩技术。关于什么参数才是“不必要的”,这是一个目前依然在研究的领域。1.1,非结构化剪枝非结构化剪枝(UnstructuredPuning)是指修剪参数

基于pytorch实现模型剪枝

这几天在参加52cto博客年度博主和年度博文评选活动,希望各位读者可以帮忙投下票。点拉票可以多投2票,每天都可以投。年度博主https://blog.51cto.com/activity-selection?key=0310_0年度博文https://blog.51cto.com/activity-selection?key=0305_1一,剪枝分类所谓模型剪枝,其实是一种从神经网络中移除"不必要"权重或偏差(weigths/bias)的模型压缩技术。关于什么参数才是“不必要的”,这是一个目前依然在研究的领域。1.1,非结构化剪枝非结构化剪枝(UnstructuredPuning)是指修剪参数