![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度强化学习
ngc1277
这个作者很懒,什么都没留下…
展开
-
小车立杆之DQN实现详解(PyTorch)
前面的话对于DQN的原理网上很多,故不再赘述,主要针对小车立杆这一场景的DQN实现代码进行详细说明,自我学习。代码from莫烦老师.完整代码主要部分:给出程序所需超参数;主要是与算法相关的参数 神经网络类;DQN中所使用的的神经网络 DQN类;DQN算法的实现 主循环,训练过程# -*- coding: utf-8 -*-# @Time : 2019/12/...原创 2019-12-08 19:50:46 · 3101 阅读 · 0 评论 -
【pytorch学习】unsqueeze()函数
unsqueeze()函数作用:增加tensor的维度;import torchimport numpy as npa = torch.tensor(np.arange(0, 6))print(a)print(a.shape)a = a.unsqueeze(1)print(a)print(a.shape)原创 2019-11-20 12:55:07 · 245 阅读 · 0 评论 -
IndexError: invalid index of a 0-dim tensor. Use tensor.item() to convert a 0-dim tensor to a Python
报错原因分析:train_loss += loss.data[0] 是pytorch0.3.1版本代码,在0.4-0.5版本的pytorch会出现警告,不会报错,但是0.5版本以上的pytorch就会报错,总的来说是版本更新问题.解决方法:#将原语句:train_loss+=loss.data[0]#修改为:train_loss+=loss.item()...转载 2019-11-17 10:47:47 · 76 阅读 · 0 评论 -
【PyTorch学习】有关cuda的操作
pytorch gputorch.cuda.is_available() cuda是否可用;torch.cuda.device_count() 返回gpu数量;torch.cuda.get_device_name(0) 返回gpu名字,设备索引默认从0开始;torch.cuda.current_device() cuda...原创 2019-11-16 16:18:10 · 593 阅读 · 0 评论 -
【PyTorch学习】 生成随机数
torch.rand返回一个张量,包含了从区间[0, 1)的均匀分布中抽取的一组随机数。张量的形状由参数sizes定义。tmp = torch.rand(2, 3)torch.randn返回一个张量,包含了从标准正态分布(均值为0,方差为1,即高斯白噪声)中抽取的一组随机数。张量的形状由参数sizes定义。tmp = torch.randn(2, 3)tor...原创 2019-11-16 13:06:10 · 1364 阅读 · 0 评论 -
【深度学习】DQN的经验回放(Experience Reply)和目标网络(Target Network)
前言对于Q-learning算法,有两点不足之处:维度灾难;这是由于查找表存储和更新Q值时需要在离散状态空间开始强化学习,当状态的数量增大,这一问题将愈发难解; 有关状态空间离散化的粒度;较低的粒度将使得Q-learning泛化能力较弱,高粒度又将可能导致状态数量呈指数增长。DQN应运而生,采用深度神经网络为非线性函数逼近,以表示高维连续状态空间中的Q值函数。, θ即参数化的神经网络。...原创 2019-11-13 13:59:41 · 13894 阅读 · 0 评论 -
【机器学习】过拟合的原因及解决方案
过拟合的一些主要原因:建模样本抽取错误,包括(但不限于)样本数量太少,抽样方法错误,抽样时没有足够正确考虑业务场景或业务特点等等,导致抽出的样本数据不能有效足够代表业务逻辑或业务场景; 样本里的噪音数据干扰过大,大到模型过分记住了噪音特征,反而忽略了真实的输入输出间的关系; 建模时的“逻辑假设”到了模型应用时已经不能成立了。任何预测模型都是在假设的基础上才可以搭建和应用的,常用的假设包括:...转载 2019-11-11 19:04:21 · 1019 阅读 · 0 评论 -
【PyTorch学习】nn.Conv2d用法
nn.Conv2d的功能nn.Conv2d的功能是:对由多个输入平面组成的输入信号进行二维卷积;nn.Conv2d用法nn.Conv2d(in_channels=1, out_channels=16, kernel_size=5, stride=1, padding=2Conv2d()的参数:in_channels(int) – 输入信号的通道 out_channels...原创 2019-11-11 18:16:38 · 1170 阅读 · 1 评论 -
【PyTorch神经网络】使用Moudle和Sequential搭建神经网络
神经网络层的搭建主要是两种方法:使用类(继承torch.nn.Moudle) 使用torch.nn.Sequential来快速搭建 Module: init中定义每个神经层的神经元个数,和神经元层数; forward是继承nn.Moudle中函数,来实现前向反馈(加上激励函数) # -*- coding: utf-8 -*-# @Time : 2019/11/5 1...原创 2019-11-05 12:36:20 · 788 阅读 · 0 评论 -
【PyTorch关系拟合】回归代码实现
跟着莫烦敲的代码import torchfrom torch.autograd import Variableimport torch.nn.functional as Fimport matplotlib.pyplot as pltx = torch.unsqueeze(torch.linspace(-1, 1, 100), dim = 1)y = x.pow(2) + 0....原创 2019-11-05 10:40:57 · 291 阅读 · 0 评论 -
pytorch中torch.squeeze() 和torch.unsqueeze()的用法
torch.squeeze() torch.squeeze(input, dim=None, out=None)参数:input (Tensor) – 输入张量 dim (int, optional) – 如果给定,则input只会在给定维度挤压 out (Tensor, optional) – 输出张量注意: 返回张量与输入张量共享内存,所以改变其中一个的内容会改变另...原创 2019-11-04 20:31:39 · 958 阅读 · 0 评论 -
【Matplotlib】imshow和show
plt.imshow()函数负责对图像进行处理,并显示其格式,而plt.show()则是将plt.imshow()处理后的函数显示出来。plt.imshow(panda_tensor[25:175, 60:130].numpy())print(plt.imshow(panda_tensor[25:175, 60:130].numpy()))plt.show()print(plt.sho...原创 2019-11-04 10:01:39 · 861 阅读 · 0 评论 -
CUDA与cuDNN
1、什么是CUDA CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。2、什么是CUDNN NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA c...转载 2019-11-02 20:17:46 · 1642 阅读 · 0 评论 -
怎么在Anaconda上更换python版本
前面的话要开始学深度学习了,于是再次打开Anaconda进行学习,发现还在是3.6的python版本,下面是如何在Anaconda中将Python版本从3.6改变到3.7的步骤。先换到其他版本也类似,十分便捷。在Anaconda上更换Python版本打开Anaconda Prompt。使用以下命令创建新环境:conda create -n name python=xx其中...原创 2019-11-01 14:39:25 · 5975 阅读 · 1 评论