|
@@ -1061,17 +1061,16 @@ class PoolRecall(object):
|
|
|
weight_sum = sum([int(item[2]) for item in available_level])
|
|
|
level_p_mapping = {}
|
|
|
level_p_low = 0
|
|
|
- available_level_count = len(available_level)
|
|
|
- for i, item in enumerate(available_level):
|
|
|
+ weight_temp = 0
|
|
|
+ for item in available_level:
|
|
|
level, level_key, weight = item[0], item[1], item[2]
|
|
|
- level_p_up = level_p_low + weight/weight_sum
|
|
|
- if i == available_level_count:
|
|
|
- level_p_up = 1
|
|
|
+ level_p_up = (weight_temp + weight)/weight_sum
|
|
|
level_p_mapping[level] = {
|
|
|
'key': level_key,
|
|
|
'level_p': [round(level_p_low, 2), round(level_p_up, 2)]
|
|
|
}
|
|
|
level_p_low = round(level_p_up, 2)
|
|
|
+ weight_temp += weight
|
|
|
# log_.info(f"level_p_mapping: {level_p_mapping}")
|
|
|
# 4. 随机生成[0,1)之间数,返回相应概率区间的key
|
|
|
random_p = random.random()
|