问题一:请教下机器学习PAI deeprec中的sok使用问题,请问有可提供的思路吗?
请教下机器学习PAI deeprec中的sok使用问题,我用2304分支和这个镜像alideeprec/deeprec-release:deeprec2304-gpu-py38-cu116-ubuntu20.04按照官方文档走sok编译,最后跑demo遇到这个报错,请问有可提供的思路吗?
参考答案:
这个原因是SOK调度的kernel和实际的Variable的类型不一致。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/570932
问题二:机器学习PAI我在dsw中使用的时候会报这个错,我的环境是2.3的?
机器学习PAI我在dsw中使用的时候会报这个错,我的环境是2.3的
执行的命令是python -m easy_rec.python.train_eval --pipeline_config_path /mnt/easyrec_config.config --train_input_path odps://kms_rec_dev/tables/label_knowl_user_training_table --eval_input_path odps://kms_rec_dev/tables/label_knowl_user_training_table --model_dir /mnt/model
参考答案:
数据如果在MC table里,就必须要用pai tensorflow的官方镜像,不能用社区版的tf镜像
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/570930
问题三:机器学习PAI 我确保没有空值后,报的错误 FAILED: 为什么?
机器学习PAI 我确保没有空值后,报的错误
FAILED: Failed 20231115073834570gt8kpa11w_db136f28_fa93_4d1d_9ad5_d5d6dd4f780e:ODPS-1202005:Algo Job Failed-User Error-Tensorflow script runs failed with exit code: 123, please see the details in logview.
The tail contents of the stderr file:
teratorGetNext[output_shapes=[[?,1], , , , , [?], [?], [?], [?], [?,1], , , [?]], output_types=DT_FLOAT, DT_VARIANT, DT_VARIANT, DT_VARIANT, DT_VARIANT, DT_STRING, DT_STRING, DT_STRING, DT_STRING, DT_FLOAT, DT_VARIANT, DT_VARIANT, DT_INT32], _device="/job:worker/replica:0/task:0/device:CPU:0"]]
[[{{node pc_log_times_diff_ss_raw_proj_id_weighted_by_pc_log_times_diff_ss_raw_proj_val_embedding/pc_log_times_diff_ss_raw_proj_id_weighted_by_pc_log_times_diff_ss_raw_proj_val_embedding_weights/embedding_lookup_sparse/Unique_S563}} = _Recvclient_terminated=false, recv_device="/job:ps/replica:0/task:0/device:CPU:0", send_device="/job:worker/replica:0/task:0/device:CPU:0", send_device_incarnation=-41487250130682641, tensor_name="edge_857_p...rse/Unique", tensor_type=DT_INT64, _device="/job:ps/replica:0/task:0/device:CPU:0"]]
日志:
参考答案:
https://easyrec.readthedocs.io/en/latest/feature/feature.html#sequencefeature同一个 group 内的序列特征需等长:
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/570924
问题四:请教一下机器学习PAI,我的时间差序列改成以下这个配置,请问报错怎么解决?
请教一下机器学习PAI,我的时间差序列改成以下这个配置,请问报错怎么解决?
features: {
input_names: 'pc_log_times_diff_ss'
feature_type: SequenceFeature
sub_feature_type: RawFeature
separator: '!'
embedding_dim: 8
sequence_combiner{
attention{}
}
}
报错logview:
参考答案:
看 stderr 的报错:
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: StringToNumberOp could not correctly convert string:
[[{{node sequence_str_2_float_pc_log_times_diff_ss}} = StringToNumberout_type=DT_FLOAT, _device="/device:CPU:0"]]
里面说你定义的是 float, 但是其实是 string, 没法转成 float
排查方法:
- 查看这个特征:sequence_str_2_float_pc_log_times_diff_ss ,看是不是分隔符有错误
- 如果确认分隔符没问题,再排查是不是有脏数据。可以先取两条正常的数据跑一下看看是不是能正常跑,确认一下是不是脏数据的问题。可以先按给出的排查方法逐条排查一下。不能有空值,空值好像没法转换成 float 吧
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/570921
问题五:机器学习PAI 这个参数指定不了啊,ODPS都报错,有什么办法调用python3的version吗?
机器学习PAI easyrec的--python_version=3和-Dpython_version=3这个参数指定不了啊,ODPS都报错,有什么办法调用python3的version吗?
参考答案:
这个暂时还指定不了
关于本问题的更多回答可点击进行查看: