深度学习
文章平均质量分 55
沿途有李
有偿支持电气、自动化领域的毕业设计、课程设计指导。提供会议、英文普刊润色及投稿服务。
展开
-
linux基本指令
cd~$:输入的指令是在 ~这个目录执行, ~代表的就是Home目录返回上一级: cd…去Home:cd~向上返回两级:cd …/…/ls看文件夹下的东西输出详细信息:ls -l显示所有文件:ls -amkdir建立文件夹mkdir folder2/f2:在folder2中建立f2文件夹rmdir folder3:移除文件夹rm删除文件rm -r folder1:删除文件夹...原创 2021-09-07 19:21:49 · 65 阅读 · 0 评论 -
使用paddle2的DQN跑Mountain
1.AgentAgent就是一个接口,sample就是实现了一个随机探索,本质还是用的self.alg.predict()函数然后Agent.learn(self, obs, act, reward, next_obs, terminal)就是将从环境拿到的obs, act, reward, next_obs, terminal转化为tensor形式,然后送给算法中的learn,即self.alg.learn(obs, act, reward, next_obs, terminal)import pa原创 2021-09-07 19:21:06 · 171 阅读 · 1 评论 -
DQN学习——paddle(百度飞桨训练营)
1.值函数Q的近似Q表格的作用就是输入(s,a),通过查询Q表格,输出Q值。希望用带参数的函数代替Q表格,输入一个状态,有多少个动作A就输出多少个Q值。有点觉得像Q-learningQ-learning从环境中获取到状态State查表找到对应的所有动作的Q值找到最大的Q值,输出其对应的动作给环境做出动作从环境中拿到下一步的奖励r当前Q值逼近target-qDQN就是用神经网络代替Q表格更新和训练输入一个状态,输出对应的Q值,Q值是一个向量,比如[1,2,3,4]这种经验回原创 2021-09-07 08:30:16 · 460 阅读 · 0 评论 -
Q-learning学习
1. Sarsa(On-policy)用下一步一定会执行的action来更新优化Q表格,整个网络就只存在一种策略,(即用同一种策略去选取action,优化Q表格)红圈处,的Q(S‘,A‘)。里边用到的是下一步一定会执行的ACTION。2.Q-learning(Off-policy)两种策略,一种是目标策略(不管下一步的action),一种是行为策略(探索环境)主要就是红线处的(经验)。红圈处,用来更新Q表格的参数,不管下一步的动作具体是什么。默认就是取的最大值。具体对比:...原创 2021-09-07 07:52:00 · 136 阅读 · 0 评论 -
paddle2使用DQN跑CartPole(详细解读)
1.Model使用的是动态图版本的Paddle。所以用了Paddle.nn。输入维度为obs_dim;输出维度为act_dim。中间隐藏层是100个神经元。第一层网络输出使用tanh激活函数;第二层网络输出使用softmax函数将数值转化为概率。class CartpoleModel(parl.Model): def __init__(self, obs_dim, act_dim): super(CartpoleModel, self).__init__()原创 2021-09-06 23:23:27 · 505 阅读 · 0 评论 -
Sarsa理论
1.Sarsa是一个基于价值的算法s:state表示状态a:action动作r:reward奖励p:状态转移概率,在t时刻的S1状态下执行动作A,转移到t+1时刻的状态S2并且拿到R的概率2.一个重要的概念,动作状态价值Q函数:它是指未来总收益,可以用来评价当前的动作是好是坏。因为现实生活中的回报往往也是滞后的。就比如说送病人去医院(+1000),路上有红绿灯(-1),那么这个时候肯定是送到医院的价值更大。未来总收益可以结合衰减因为γ:还是要务实对哇。首先是未来总收益,从公式中就可以看出当原创 2021-09-05 23:29:50 · 684 阅读 · 0 评论 -
paddle2.0学习(2)——详细解读Cartpole入门教程
1.paddle.to_tensor通过已知的data去创建一个tensorpaddle.to_tensor(data, dtype=None)data可以是scalar,list,numpy.ndarry等dtype (str, optional) -创建tensor的数据类型,可以是 ‘bool’ ,‘float16’,‘float32’, ‘float64’ 等2.这是一个动态图因为它使用的是paddle.nn.Layer:在官方API中就有声明它是基于OOD实现的动态图Layer。原创 2021-09-04 09:32:22 · 958 阅读 · 0 评论 -
paddle的学习(1)
1.关于Program#layer表示一个独立的计算逻辑,通常包含一个或多个op,layers.relu表示relu运算;layers.pool2d表示pool操作。layer有输入输出(variable)#Variable表示一个变量,变量可以是一个张量Tensor,Variable进入layer计算,然后layer返回Variable#program包含Variable定义的多个变量和layer定义的多个计算。Program是顺序执行的#Executor用来执行Program,Executor原创 2021-09-03 22:50:52 · 3673 阅读 · 1 评论 -
基于PARL的cartpole实现+visualdl画图
首先新建一个文件夹my_cartpole里面共有三个py文件,使用vim agent.py来创建model.py这个文件主要是用来定义前向网络,通常是一个值函数网络,输入是当前环境状态。import paddleimport paddle.nn as nnimport paddle.nn.functional as Fimport parl##继承parl.Model类class my_cartpole(parl.Model): ##构造函数__init__中声明要用到的.原创 2021-08-21 22:18:11 · 233 阅读 · 0 评论