问题1:机器学习PAI命令中-Dselected_cols是必须设置的吗?
我发现pai命令中如果没有设置-Dselected_cols,而config文件的data_config中即使设置了selected_cols也是无效的,会默认使用表中的全部列。问题2:恩,然后pai-jobs/run.py中的set_selected_cols()会把Dselected_cols 默认值(如果没有设置就是所有列)覆盖掉config里的selected_cols参数,导致config里设置无效,这是符合预期的吗?如果pai命令没有设置-Dselected_cols,图中红框打印就是默认的全部列
这个条件永久成立,然后会覆盖config的设置值。
机器学习PAI命令中-Dselected_cols是必须设置的吗?[阿里云机器学习PAI]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
在机器学习PAI中,
-Dselected_cols
参数不是必须设置的,它是可选的。-Dselected_cols
用于指定从输入数据中选择哪些列作为模型的输入特征。如果未显式设置-Dselected_cols
参数,系统将默认使用所有输入数据的列作为特征。然而,具体是否需要设置
-Dselected_cols
参数取决于你的数据和模型的需求。在某些情况下,你可能只对特定的列感兴趣,并希望仅使用这些列作为特征进行训练或预测。此时,你可以通过设置-Dselected_cols
参数来筛选出所需的列。如果你希望使用所有输入数据的列作为特征,不需要进行特定的列选择操作,则可以不设置
-Dselected_cols
参数。总之,
-Dselected_cols
参数在机器学习PAI命令中是可选的,根据你的需求来决定是否设置该参数。针对问题1的回答:pai 启动的流程是先加载表,运行 EasyRec 后才读取 config 的。要是在 config 里面指定,加载表在这之前,Dselected_cols 默认应该是会先把表的所有列加载的, 相关的代码见:https://github.com/alibaba/EasyRec/blob/master/pai_jobs/easy_rec_flow/easy_rec.lua#L522 针对问题2的回答:应该不是符合预期的。和同事讨论了一下,这个在 pai 上确实是这样,会覆盖掉。其实在 pai 上不设 Dselected_col 时,默认全部的列都读进来了,无论在 config 里面设置什么,都不影响之前全部列都读进来这个行为。即使不覆盖掉,只取部分,实际上处理的也是全部列。所以这个地方就没有改。此回答整理自钉群“【EasyRec】推荐算法交流群”