OverflowError: Range exceeds valid bounds

OverflowError: Range exceeds valid bounds

错误信息如下

img

出错代码如下

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太大了

我也是相同问题,请问解决了吗