原因:beta分布的参数为负数,导致采样时出现上述错误。
解决时间:3h
定位问题:
1. 通过log确定出错的代码:beta分布采样
2. 搜索这个error,并没有发现与beta分布采样有关的资料,现有的资料都是说在解方程时没有解造成的错误。
3. 由于代码没动过,怀疑和beta参数有关,于是打印beta分布的参数。期间犯了新手的错误,没有collect(),导致在executer上打印了参数
5. collect()之后发现参数有负值(参数alpha),这个值表示的是奖励,在不继地累加,而类型是int,最终超过了上限变成了负值。
定位策略优化:
1. 定位到是beta分布采样时出错,首先要做的是检查beta分布的参数是否异常,应该要先打印参数检查下。