cube-studio/job-template/job/tf_model_offline_predict/README.md
2022-02-26 22:36:02 +08:00

3.0 KiB
Raw Blame History

tensorflow模型离线预测任务配置

{
    "job_detail": {
        "script_name": "<str>",
        "predict_data_args": {
             "<str>": <any>
		},
        "predict_args": {
            "model_path": "<str>",
            "model_name": "<str>",
            "batch_size": <int>,
            "result_file": "<str>",
            "result_field_delim": "<str>",
            "output_delim": "<str>",
            "row_id_col": "<str>",
            "row_format": "<str>",
            "write_headers": <bool>
        }
    }
}
  • job_detail: 任务的详细描述,其下字段有:
    • script_name:用户脚本文件名,默认在包目录中,支持相对路径
    • predict_data_argsawf_predict_val_dataset_fn回调函数的参数关于awf_predict_val_dataset_fn请参考[]
    • predict_args:评估流程详细参数,其下字段有:
      • model_path:必填,模型路径
      • model_name:非必填,模型名字
      • batch_size非必填预测时的batch大小不填时默认1024
      • result_file非必填预测结果文件路径不填时默认在数据路径下的predict.csv。数据格式为csv第一行为列名。当是单输出模型时最后一列为预测结果值列名为"output",当是多输出时,每个输出占一列,当模型输出命名时,输出列名是输出名,当不命名时,输出列名是"output_"是输出序号从0开始。
      • result_field_delim:非必填,预测结果文件的列分隔符,不填时默认为空格。
      • output_delim非必填预测结果向量维度分割符不填时默认为逗号当预测结果是向量例如embedding时有用。
      • write_headers非必填预测结果是否需要写文件头不填默认为True
      • row_id_col非必填输出的行标识。row_id_col指定的列必须在输入文件中存在但不是模型的输入特征。不填时输出结果中只包含模型输出如果指定了row_id_col则输出文件的第一列是输入文件对应列的值。
      • row_format:非必填,预测结果每一行的格式,格式的指定的基本单位是"{}",其中可取值有
        • row_id仅当指定了row_id_col有效结果文件中{row_id}会被替换为row_id_col指定列的值。另外也可以使用row_id_col值例如row_id_col="uin",则{row_id}和{uin}是等价的。
        • output_<idx>:当模型有多输出时,<idx>是输出的序号从0开始。另外{output}和{output_0}是等价的。对于只有一个输出的模型指定{output}即可。格式化时,同一个{}可以多次出现,每一个{}两边都可以有任意字符串例如一个输出用户embedding的模型预测数据文件中有一列uid用于标识用户。那么"{uid} | {uid} | {ouput}"对应的每一行结果就类似于"123 | 123 | 0.1,0.2,0.3"这样。其中123是某一个uid0.1,0.2,0.3是对应的embedding这里假设使用默认维度分隔符",")。