def add(self, keys, values):
skip_indices = []
if self.curr_capacity >= 1:
dist, ind = self.tree.query(keys, k=1)
for i, d in enumerate(dist):
if d[0] < 0.001:
new_value = values[i]
index = ind[i][0]
self.q_values[index] = self.q_values[index]*0.9 + new_value*0.1
skip_indices.append(i)
for i, _ in enumerate(keys):
if i in skip_indices: continue
if self.curr_capacity >= self.capacity:
# find the LRU entry
old_index = np.argmin(self.lru)
self.states[old_index] = keys[i]
self.q_values[old_index] = values[i]
self.lru[old_index] = self.tm
else:
self.states[self.curr_capacity] = keys[i]
self.q_values[self.curr_capacity] = values[i]
self.lru[self.curr_capacity] = self.tm
self.curr_capacity+=1
self.tm += 0.01
self.tree = KDTree(self.states[:self.curr_capacity])
EC_functions.py 文件源码
python
阅读 26
收藏 0
点赞 0
评论 0
评论列表
文章目录