阅读莫凡python中的DQN代码遇到的基础知识障碍的解决_dqn学不到东西-程序员宅基地

技术标签: DQN  

阅读莫凡python中的DQN代码遇到的基础知识障碍的解决

tf.get_collection()

  1. tf.add_to_collection:把变量放入一个集合,把很多变量变成一个列表
  2. tf.get_collection:从一个集合中取出全部变量,是一个列表
  3. tf.add_n:把一个列表的东西都依次加起来

tf.assign(A, new_number)

  1. 这个函数的功能主要是把A的值变为new_number

zip()

  1. zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
  2. 以下实例展示了 zip 的使用方法:
>>>a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)     # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c)              # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped)          # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]

tf.placeholder()

tf.placeholder(dtype, shape=None, name=None) 此函数可以理解为形参,用于定义过程,在执行的时候再赋具体的值

dtype:数据类型。常用的是tf.float32,tf.float64等数值类型
shape:数据形状。默认是None,就是一维值,也可以是多维,比如[2,3], [None, 3]表示列是3,行不定
name:名称。

tf.variable_scope

  1. tf.variable_scope可以让变量有相同的命名,包括tf.get_variable得到的变量,还有tf.Variable的变量
  2. tf.name_scope可以让变量有相同的命名,只是限于tf.Variable的变量

tf.random_normal_initializer()函数

  1. tf.random_normal_initializer(mean=0.0, stddev=1.0, seed=None, dtype=tf.float32) 返回一个生成具有正态分布的张量的初始化器。
  2. tf.constant_initializer(value) 生成一个初始值为常量value的tensor对象
    value:指定的常量
    dtype: 数据类型
    verify_shape: 是否可以调整tensor的形状,默认可以调整

tf.reduce_sum

hasattr()函数

hasattr() 函数用于判断对象是否包含对应的属性。

hstack()

hstack(tup) ,参数tup可以是元组,列表,或者numpy数组,返回结果为numpy的数组

import numpy as np
a=[1,2,3]
b=[4,5,6]
print(np.hstack((a,b)))

输出:[1 2 3 4 5 6 ]

import numpy as np
a=[[1],[2],[3]]
b=[[1],[2],[3]]
c=[[1],[2],[3]]
d=[[1],[2],[3]]
print(np.hstack((a,b,c,d)))

输出:
[[1 1 1 1]
 [2 2 2 2]
 [3 3 3 3]]
它其实就是水平(按列顺序)把数组给堆叠起来,vstack()函数正好和它相反。

tf.GraphKeys.GLOBAL_VARIABLES函数

常见GraphKeys
  1. GLOBAL_VARIABLES: 该collection默认加入所有的Variable对象,并且在分布式环境中共享。一般来说,TRAINABLE_VARIABLES包含在MODEL_VARIABLES中,
  2. MODEL_VARIABLES包含在GLOBAL_VARIABLES中。MODEL_VARIABLES包含在GLOBAL_VARIABLES中。
  3. LOCAL_VARIABLES: 与GLOBAL_VARIABLES不同的是,它只包含本机器上的Variable,即不能在分布式环境中共享。
  4. MODEL_VARIABLES: 顾名思义,模型中的变量,在构建模型中,所有用于正向传递的Variable都将添加到这里。MODEL_VARIABLES: 顾名思义,模型中的变量,在构建模型中,所有用于正向传递的Variable都将添加到这里。
  5. TRAINALBEL_VARIABLES: 所有用于反向传递的Variable,即可训练(可以被optimizer优化,进行参数更新)的变量。TRAINALBEL_VARIABLES: 所有用于反向传递的Variable,即可训练(可以被optimizer优化,进行参数更新)的变量。
  6. SUMMARIES: 跟Tensorboard相关,这里的Variable都由tf.summary建立并将用于可视化。
  7. QUEUE_RUNNERS: the QueueRunner objects that are used to produce input for a computation.
  8. MOVING_AVERAGE_VARIABLES: the subset of Variable objects that will also keep moving averages.
  9. REGULARIZATION_LOSSES: regularization losses collected during graph construction.

常用的几个优化器

Optimizer
GradientDescentOptimizer
AdagradOptimizer
AdagradDAOptimizer
MomentumOptimizer
AdamOptimizer
FtrlOptimizer
RMSPropOptimizer

基本的用法就是tf.train.xx

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qawsedrf123lala/article/details/85076452

智能推荐

涨粉6万,带货百万,人类幼崽竟靠干饭实力圈粉?_果集云略的博客-程序员宅基地

文章浏览阅读294次。“可爱”“吃货”是视频号馒头小胖墩儿出现频率最高的词,许多用户看到才3岁的馒头小朋友努力干饭的搞笑视频,纷纷被他圈粉了。2020年11月,馒头麻麻开始在视频号运营账号馒头小胖墩儿,凭借3岁儿子的干饭视频,吸引众多妈妈、奶奶粉的关注,单条视频吸粉6万,运营至今累计吸引40万用户关注。9月,馒头麻麻联合爱逛在视频号开启直播带货,突破10万销售额。双11期间,馒头妈妈连续直播10天,带货销售额超100万。而近期几场双12直播销售额也达到了50万+。作为母婴育儿博主,馒头麻麻是如何抓住视频号流量密码?又是如何

PySide的QStackedWidget例子_pyside stackedwidget-程序员宅基地

文章浏览阅读2.1k次。环境:python 2.7.8pyside 1.2.2_pyside stackedwidget

MyBatis动态传入表名查询数据-程序员宅基地

文章浏览阅读650次。@RequestMapping("/searchSjgl.htm") @ResponseBody publicList<IdSjgl>searchSjgl(HttpServletRequestrequest)throwsUnsupportedEncodingException{ List<IdSjgl>list=sjglServic..._mybatis 根据表名获取表元数据

YNB/酵母氮源基础 (含硫酸铵,不含氨基酸)的基本信息(供应SD/-Ade/-His/-Leu/-Met-Trp/-Ura with Agar/SD/-Cys/-Met/Ura with Agar)_酵母氮源基础无氨基酸和硫酸氨_小编在火星的博客-程序员宅基地

文章浏览阅读511次。名称:YNB/酵母氮源基础 (含硫酸铵,不含氨基酸)英文名:YNB/Yeast Nitrogen Base (without Amino Acids)成分:Nitrogen SourceAmmonium Sulfate … 5.0 gCompounds Supplying Trace ElementsBoric Acid …500.0 μgCopper Sulfate … 40.0 μgPotassium Iodide … 100.0 μgFerric Chloride … 200.0 μ_酵母氮源基础无氨基酸和硫酸氨

fliplr函数-程序员宅基地

文章浏览阅读2.2k次,点赞2次,收藏6次。fliplr 左右翻转矩阵语法:B = fliplr(A)将矩阵A的列绕垂直轴进行左右翻转 matabc如果A是一个行向量,fliplr(A)将A中元素的顺序进行翻转。如果A是一个列向量,fliplr(A)还等于A。举例说明:例一:如果A是一个3×2的矩阵A =[1 4 2 5 3 6 ]fliplr(A)ans =..._fliplr函数

ZTE中兴通讯子公司(中兴智能视觉大数据):智能动态人脸识别高铁人证票核实管理系统-程序员宅基地

文章浏览阅读499次。 ZTE中兴通讯子公司(中兴智能视觉大数据):智能动态人脸识别高铁人证票核实管理系统 详细介绍 本系统是为了解决火车站、长途汽车站实行实名制后,需要对进站旅客进行人、证、票三合一查验而定制开发的一款产品。系统由前端人证票核验设备和后端应用管理平台组成。前端人证票核验设备部署在车站安检通道处,分别完成人、证、票的三合一核验。另外,系统还与公安部的黑名单库对接,实现嫌犯报警提醒...

随便推点

TypeScript----类型注解之数组与对象_typescript数组包对象的注解怎么写_羽千珏的博客-程序员宅基地

文章浏览阅读233次。TypeScript类型注解之数组// 初始化为空数组的时候需要添加类型注解let baskec: string[] = ['mike', 'james'];const dates = [new Date(), new Date()];// 二维数组const students = [['mike', 'nike'],['zhang'],['lise', 'san']];//提取值的时候帮助推断const player = baskec[0];const players = baske_typescript数组包对象的注解怎么写

代理模式(Proxy) Java实现-程序员宅基地

文章浏览阅读172次。代理模式代理(Proxy)定义代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。代理模式结构所谓代理,就是一个人或者机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式类图如下:在代理模式中的角色:抽象对象角色:声明了目标对象和代理对象的共...

剑指offer(六十六)之机器人的运动范围_机器人的运动范围 剑指offer-程序员宅基地

文章浏览阅读2.1k次。题目描述地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?代码:import java.u_机器人的运动范围 剑指offer

我要“冬眠”_c++冬眠-程序员宅基地

文章浏览阅读2.9k次。我要“冬眠” 作者:zfive5(zhaozidong)联系:[email protected] 道生一,一生二,二生三,三生万物。 老子--《道德经》 1. Hibernate由来Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。_c++冬眠

树莓派人脸识别打卡系统(python pyqt opencv)-程序员宅基地

文章浏览阅读9.6k次,点赞5次,收藏69次。界面效果图:每天的打卡记录存在txt文件中:局域网远程实时监控:用到的知识:1. opencv-python2. pyqt53. python-flask步骤:1. 人脸检测(adaboost + haar 特征)2. 人脸识别(lbp FaceRecognizer)3. 界面 pyqt。 日期、时间获取,控件、布局,多线程,界面更新、实时图像显示。4. 多线程,局域...

atitit 数字音频技术概论 艾提拉著 目录 1. 声学基础 2 1.1. 1.2人耳的听觉效应9 2 2. 第1章数字音频基础 2 2.1. 1.1音频的发展历史 2 2.2. 1.2音频的发展_数字音频概论考题-程序员宅基地

文章浏览阅读504次。atitit 数字音频技术概论 艾提拉著目录1. 声学基础 21.1. 1.2人耳的听觉效应9 22. 第1章数字音频基础 22.1. 1.1音频的发展历史 22.2. 1.2音频的发展方向 22.3. 1.4音频制作的硬件基础 32.4. 1.5音频的常见格式 33. 第3章音频信息采集与数字化28 33.1. 3.8.音频信息文件格式49 34..._数字音频概论考题