NCBB 发表于 2020-7-9 15:37:40

一个python强化学习的小案例

一个python强化学习的小案例,有些地方看不懂,大佬们帮帮忙
C:\Users\76949\Desktop\IMG_20200709_153343.jpgC:\Users\76949\Desktop\IMG_20200709_153312.jpg
C:\Users\76949\Desktop\IMG_20200709_153237.jpg

NCBB 发表于 2020-7-9 15:45:47

图片在下方

Twilight6 发表于 2020-7-9 15:39:52


发网络图片,是图片的 url 地址,而不是图片路径

上传图床然后重新发图片吧:https://imgchr.com/

NCBB 发表于 2020-7-9 15:40:39

Twilight6 发表于 2020-7-9 15:39
发网络图片,是图片的 url 地址,而不是图片路径

上传图床然后重新发图片吧:https://imgchr.com/

好,谢谢

NCBB 发表于 2020-7-9 15:45:11

https://s1.ax1x.com/2020/07/09/Um0CPx.jpg
https://s1.ax1x.com/2020/07/09/Um0fW6.jpg
https://s1.ax1x.com/2020/07/09/UmBCwj.jpg

Twilight6 发表于 2020-7-9 16:18:45




第一个图:

np.ones() 创建一个以1为值的 nS 数量的一维数组,然后这里在将一维数组中的所有值除以 nS

self.P =P 就是将变量 P 赋值为实例属性

super(GridworldEnv,self).__init__ 是调用 GridworldEnv 的父类__init__ 方法

第二个图:

isinstance(obj,classinfo):如果对象obj是类classinfo的实例则返回True,否则返回False

构造了 __init__ 方法,在 __init__ 内通过判断你传入参数的类型是否属于 列表(list)、元组(tuple) 以及参数中的元素是否等于 2 个

如果这两个条件有一个不满足,就会执行 if 里面的代码块,通过 raise 创造一个报错 ValueError

反正条件成立,将传入的 shape 参数转化为实例属性 self.shape 供类中其他方法的使用

第三个图:

it 是你生成的一个 ndarray 迭代器,而 it.finished 是判断迭代器内的元素是否全部迭代完,若还有元素则返回 False 若迭代完成返回 True

s = it.iternext() 表示进入下一次迭代,否则会一直迭代最开始的数值

it.multi_index 获取你设置的元素的索引,然后分别将两个索引赋值给 y 和 x

{a:[] for a in range(nA)} 生成 0~nA-1 个键 key,而且值 value 都是 [] 空列表的字典



Twilight6 发表于 2020-7-9 16:35:34

Twilight6 发表于 2020-7-9 16:18
第一个图:

np.ones() 创建一个以1为值的 nS 数量的一维数组,然后这里在将一维数组中的所有值除 ...

这边最后一句改下 是生成 nA 个 key ,而键名是从 0~ nA - 1

NCBB 发表于 2020-7-9 20:11:00

第三个图上是s = it.iterindex(),不是 it.iternext()还是表示进入下一次迭代吗?

kristenni 发表于 2021-6-11 21:08:11

请问一下楼主您是看的什么资料呀,我也想学习这方面的知识
页: [1]
查看完整版本: 一个python强化学习的小案例