some tips about input data type
Created by: prm10
以ranknet为例,将这行代码https://github.com/PaddlePaddle/models/blob/950f45153f9dba867a98f910f0f3c38b90df545e/ltr/ranknet.py#L42 的dense_vector(1)改为integer_value(1),(当然,label输入数据格式也需要从[label]改为label)会报错:
去掉https://github.com/PaddlePaddle/models/blob/950f45153f9dba867a98f910f0f3c38b90df545e/ltr/ranknet.py#L48 这行才行。可能的问题在于,dense_vector的数据没有范围限制,不受rank_cost和evaluator.auc的格式检查;而对于integer_value,rank_cost要求必须为integer_value(1),否则报错,而此时evaluator.auc的格式检查又会报错,如上图所示。
因此有下面3点小建议:
1、rank_cost和evaluator.auc的格式检查是互相矛盾的,能否统一;
2、按rank_cost的格式检查理解,integer_value(1)代表范围0-1,但是输入一个value为3却不报错也不提示数据溢出;
3、实测integer_value(10)后面接一个embedding层,产生的embedding矩阵大小为10*embedding_size,与0-10的数据范围相矛盾?实际上正常的数据范围是0-9?