-
大小: 1KB文件類型: .zip金幣: 1下載: 0 次發布日期: 2021-01-07
- 語言: 其他
- 標簽: Prioritized??
資源簡介
Prioritized Experience Replay的SumTree代碼注解,包你看懂,樹的原理,父節點和子節點之間的關系,在代碼中都有寫,初學者易懂!
代碼片段和文件信息
import?numpy?as?np
class?Tree(object):
????write?=?0
????def?__init__(self?capacity):
????????self.capacity?=?capacity??#?capacity是葉子節點個數,也就是存放數據的個數,樹的總結點個數為?n?=?(2?*?葉子節點數?-?1)
????????self.tree?=?np.zeros(2?*?capacity)??#?從1開始編號[1capacity]
????????self.data?=?np.zeros(capacity+1?dtype=object)??#?存葉子節點對應的數據data[葉子節點編號id]?=?data
????def?add(self?p?data):
????????idx?=?self.write?+?self.capacity??#定位到第一個葉子節點(idx)
????????self.data[self.write+1]?=?data
????????self._updatetree(idx?p)
????????self.write?+=?1
????????if?self.write?>?self.capacity:??#?存滿時,在從左到右從上到下,重新一個個替換
????????????self.write?=?0
????def?_updatetree(self?idx?p):
????????change?=?p?-?self.tree[idx]??#?計算更新的p和葉子結點(idx)的差值,
????????self._propagate(idx?change)??#?在把這個差值change往上傳播,把這個節點(idx)的父節點
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????2580??2018-07-27?19:53??buildTree.py
- 上一篇:全國郵政編碼數據庫
- 下一篇:wireshark抓包查看各類協議
評論
共有 條評論