关于深度学习:MindSpore报错GeneratorDatasets-numworkers8-this-value-is

55次阅读

共计 1111 个字符,预计需要花费 3 分钟才能阅读完成。

1 报错形容 1.1 零碎环境 Hardware Environment(Ascend/GPU/CPU): CPUSoftware Environment:– MindSpore version (source or binary): 1.2.0– Python version (e.g., Python 3.7.5): 3.7.5– OS platform and distribution (e.g., Linux Ubuntu 16.04): Ubuntu 4.15.0-74-generic– GCC/Compiler version (if compiled from source):1.2 根本信息 1.2.1 脚本此案例运行官网的线型函数拟合示例,此前已胜利装置 mindspore。

1.2.2 报错报错信息:RuntimeError: Thread ID 140706176251712 Unexpected error. GeneratorDataset’s num_workers=8, this value is not within the required range of [1, cpu_thread_cnt=2].Line of code : 639File : /home/jenkins/agent-working-dir/workspace/Compile_CPU_X86_Ubuntu/mindspore/mindspore/ccsrc/minddata/dataset/engine/ir/datasetops/dataset_node.cc2 起因剖析用户在运行时 CPU 的核数少于 dataset 模块生成数据时默认应用的核数的数量,mindspore 在 1.2.0 中没有为硬件中 CPU 的核数进行自适应配置,当 pc 的配置不高时须要手动对 CPU 核数进行配置。3 解决办法 1. 增加代码手动配置 CPU 核数:ds.config.set_num_parallel_workers(2)2. 应用更高版本的 mindspore, 目前的 mindspore–1.6.0 会依据硬件中 CPU 的核数自适应配置,避免出现 cpu 核数过低导致报错。4 总结 1. 可依据报错信息的提醒进行问题定位,此案例为 CPU 核数问题,可在官网教程与开源的 MindSpore 文档中搜查设置 CPU 核数的办法。2. 目前 MindSpore 提供了一种主动数据调优的工具——Dataset AutoTune,用于在训练过程中依据环境资源的状况主动调整数据处理管道的并行度,此过程中会自动检测硬件中 CPU 的核数进行自适应配置。3.MindSpore 中 config 模块可能设置或获取数据处理的全局配置参数。5 参考文档 https://www.mindspore.cn/docs…

正文完
 0