ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MindSpore报错"GeneratorDataset's num_workers=8, this value is ..."

2022-07-16 22:00:40  阅读:164  来源: 互联网

标签:... 1.2 workers 报错 MindSpore 核数 CPU mindspore


1 报错描述

1.1 系统环境

Hardware Environment(Ascend/GPU/CPU): CPU
Software 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。
图片.png

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 : 639
File : /home/jenkins/agent-working-dir/workspace/Compile_CPU_X86_Ubuntu/mindspore/mindspore/ccsrc/minddata/dataset/engine/ir/datasetops/dataset_node.cc

2 原因分析

用户在运行时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/zh-CN/r1.7/api_python/mindspore.dataset.config.html

标签:...,1.2,workers,报错,MindSpore,核数,CPU,mindspore
来源: https://www.cnblogs.com/skytier/p/16485380.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有