OverflowError: Range exceeds valid bounds
错误信息如下
出错代码如下
tree_idx, minibatch, ISWeights = Memory.sample(MINIBATCH_SIZE)
def sample(self, n):
b_idx, b_memory, ISWeights = np.empty((n,), dtype=np.int32), [[]] * n, np.empty((n))
pri_seg = self.tree.total_p / n # 优先级
self.beta = np.min([1., self.beta + self.beta_increment_per_sampling]) # max = 1
min_prob = np.min(self.tree.tree[-self.tree.capacity:]) / self.tree.total_p # for later calculate ISweight
if min_prob == 0:
min_prob = 0.00001
for i in range(n):
a, b = pri_seg * i, pri_seg * (i + 1)
v = np.random.uniform(a, b)
# v=tf.random_uniform(a, b)
idx, p, data = self.tree.get_leaf(v)
prob = p / self.tree.total_p
ISWeights[i] = np.power(prob/min_prob, -self.beta)
b_idx[i], b_memory[i] = idx, data
return b_idx, b_memory, ISWeights
尝试改变Keras后端,在代码开始前加入
from keras import backend
backend.set_image_data_format("channels_first")
backend.set_image_dim_ordering('th')
依旧出现上面的报错,也没有找到类似的问题
希望各位交流一下经验!!
检查a和b的值是否正确,以及在函数调用之前是否已经正确设置了随机数生成器
报错说a,b的值不正确,应该是b太大了
我也是相同问题,请问解决了吗