mindspore.dataset.config.set_enable_autotune
- mindspore.dataset.config.set_enable_autotune(enable, filepath_prefix=None)
设置是否开启自动数据加速。默认情况下不开启自动数据加速。
自动数据加速用于在训练过程中根据环境资源的负载,自动调整数据处理管道全局配置,提高数据处理的速度。
可以通过设置 json_filepath 将优化后的全局配置保存为JSON文件,以便后续复用。
- 参数:
enable (bool) - 是否开启自动数据加速。
filepath_prefix (str,可选) - 优化后的全局配置的保存路径+文件前缀。多卡环境时,设备ID号与JSON扩展名会自动添加到 filepath_prefix 参数后面作为完整的文件路径,单卡默认设备ID号为0。例如,设置 filepath_prefix=”/path/to/some/dir/prefixname” ,设备ID为1的训练进程 生成的调优文件将被命名为 /path/to/some/dir/prefixname_1.json 。默认值:
None
,表示不保存配置文件,但可以通过INFO日志查看调优配置。
- 异常:
TypeError - 当 enable 的类型不为bool。
TypeError - 当 json_filepath 的类型不为str。
RuntimeError - 当 json_filepath 字符长度为0。
RuntimeError - 当 json_filepath 为目录。
RuntimeError - 当 json_filepath 路径不存在。
RuntimeError - 当 json_filepath 没有写入权限。
说明
当 enable 为
False
时,json_filepath 值将会被忽略。生成的JSON文件可以通过 mindspore.dataset.deserialize 进行加载,得到调优后的数据处理管道。
生成的JSON文件内容示例如下,”remark”字段将给出结论表明数据处理管道是否进行了调整,”summary”字段将展示数据处理管道的调优配置。 用户可以根据调优结果修改代码脚本。
{ "remark": "The following file has been auto-generated by the Dataset AutoTune.", "summary": [ "CifarOp(ID:5) (num_parallel_workers: 2, prefetch_size:64)", "MapOp(ID:4) (num_parallel_workers: 2, prefetch_size:64)", "MapOp(ID:3) (num_parallel_workers: 2, prefetch_size:64)", "BatchOp(ID:2) (num_parallel_workers: 8, prefetch_size:64)" ], "tree": { ... } }
样例:
>>> import mindspore.dataset as ds >>> >>> # enable AutoTune and save optimized data pipeline configuration >>> ds.config.set_enable_autotune(True, "/path/to/autotune_out.json") >>> >>> # enable AutoTune >>> ds.config.set_enable_autotune(True)