模型评估
import tk.tk_sdk as tk # 导入微调工具包 tk.evaluate(data_path, ckpt_path, output_path, boot_file_path, model_config_path=None, timeout=None)
功能介绍
根据给定参数值创建并拉起评估任务,任务结束后读取用户模型评估结果文件并返回。
前提约束
- 运行evaluate命令前,按照参数说明准备好评估所需文件,做好对应权限控制。
- 模型代码必须与微调工具包适配,具体适配方式参考模型适配。
- 用户模型代码需将模型评估结果以json串格式落盘至指定输出路径(output_path),落盘文件名为“eval_result.json” ,且用户具有访问该文件的权限。
tk_sdk.evaluate参数说明
参数规则:
- 文件命名规则为:允许字母大小写、数字、减号、下划线、空格、英文句号。
- 文件夹命名规则为:允许字母大小写、数字、减号、下划线、空格。
- 在拉起服务前对输入输出的文件与路径做合理权限控制;为避免越权攻击,建议读写权限设置为同组用户不具有写权限,其他用户不具有任何访问权限,参考文件/文件夹权限规则说明。
- 超时中断机制参数设置的天数需设置为自然数,小时数需设置为小于等于23的自然数。
参数全称 |
必选 |
路径粒度 |
描述 |
---|---|---|---|
boot_file_path |
是 |
文件 |
模型启动脚本本地绝对路径,需要为.py文件,如“/home/HwAiUser/caption/eval.py”。 |
data_path |
是 |
文件夹 |
待验证数据集(包含ground truth)本地绝对路径,如“/home/HwAiUser/caption/verifydatasets/”。仅当数据通过sfs存储时允许模型代码中指定数据读取路径,其他场景下,模型代码必须从该参数值对应路径下获取数据集。 |
output_path |
是 |
文件夹 |
输出文件本地绝对路径,如“/home/HwAiUser/caption/output/”。模型代码必须将需要落盘的文件写入该路径。请确保用户有该文件夹的写权限;保证该路径有足够存储空间(大于1GB),否则会进行交互式风险提醒,由用户选择是否接受风险继续业务;且需保证输出路径不与其他输入路径相同或为其他输入路径的子路径。 |
ckpt_path |
是 |
文件夹 |
待评估模型文件本地绝对路径,如“/home/HwAiUser/caption/ckpt/”。 |
model_config_path |
否 |
文件 |
“model_config”配置文件本地绝对路径,如“/home/HwAiUser/caption/config/eval_config_caption.yaml”。用户可参考模型适配适配该文件。通过该文件修改模型代码所需超参,也可以不配置该参数,直接使用源码预定义超参。 |
timeout |
否 |
不涉及 |
使用该参数即可开启任务超时中断机制,启动的任务运行时间如超过设定的超时时间,任务将被强制停止。超时时间允许天数(d/D)/小时数(h/H)的组合,例如设置3d12h、5d、18h都是合法的。 |
返回值 |
说明 |
---|---|
eval_result |
任务成功,返回json串形式的评估结果。 |
空字符串 |
任务失败。 |
日志文件与结果输出
日志文件可在“$HOME/.cache/Huawei/mxTuningKit/log/”下查看,具体存放规则参考日志存放规则。
对于落盘结果文件,微调工具包将会在指定输出路径新建一个读写权限为“750”,名称为“TK_UUID”文件夹,其中UUID为动态生成,用户可在其中查看模型评估结果与自定义落盘文件。