实践过程分享 体验1小时入门AI工程师课程(课程学习和实践部分)

活动帖

https://bbs.huaweicloud.com/forum/thread-103029-1-1.html

参考资料

https://blog.csdn.net/a493823882/article/details/87888509
https://bbs.huaweicloud.com/blogs/204390
https://www.mindspore.cn/news/newschildren?id=354

实践过程分享

使用conda新建符合版本要求的环境,并进入新环境。(配置系统环境变量的方法也挺好的,但有些担心新手在配置时会有些困扰。)

conda create -n hwms-py37 python=3.7.5
conda activate hwms-py37

并查看python版本

python -V
Python 3.7.5

根据教程安装 mindspore 、opencv-python 和 matplotlib

pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.0.1/MindSpore/cpu/windows_x64/mindspore-1.0.1-cp37-cp37m-win_amd64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

查看mindspore版本

python -c "import mindspore;print(mindspore.__version__)"
1.0.1

下载工程和数据集文件,并解压

微信截图_20210124161335.png

切换工作目录 并 执行训练

cd /d d:\MindSporePetClassification\code
python preprocessing_dataset.py D:\MindSporePetClassification\kagglecatsanddogs_3367a.zip
python train.py

报错

ValueError: num_parallel_workers exceeds the boundary between 1 and 6!

(hwms-py37) d:\MindSporePetClassification\code>python train.py
start cache feature!
Traceback (most recent call last):
  File "train.py", line 52, in <module>
    data, step_size = extract_features(backbone_net, args_opt.dataset_path, config)
  File "d:\MindSporePetClassification\code\src\dataset.py", line 84, in extract_features
    train_dataset = create_dataset(dataset_path=os.path.join(dataset_path, "train"), do_train=True, config=config)
  File "d:\MindSporePetClassification\code\src\dataset.py", line 41, in create_dataset
    ds = de.ImageFolderDataset(dataset_path, num_parallel_workers=8, shuffle=True)
  File "D:\Develop\Anaconda3\envs\hwms-py37\lib\site-packages\mindspore\dataset\engine\validators.py", line 50, in new_method
    validate_dataset_param_value(nreq_param_int, param_dict, int)
  File "D:\Develop\Anaconda3\envs\hwms-py37\lib\site-packages\mindspore\dataset\core\validator_helpers.py", line 350, in validate_dataset_param_value
    check_num_parallel_workers(param_dict.get(param_name))
  File "D:\Develop\Anaconda3\envs\hwms-py37\lib\site-packages\mindspore\dataset\core\validator_helpers.py", line 338, in check_num_parallel_workers
    raise ValueError("num_parallel_workers exceeds the boundary between 1 and {}!".format(cpu_count()))
ValueError: num_parallel_workers exceeds the boundary between 1 and 6!

解决思路

根据变量名称 num_parallel_workers,可知是并行计算的参数需要做出调整
参考前辈写出的博文 https://bbs.huaweicloud.com/blogs/204390
对相关参数进行更改后,成功执行训练。

备注:我的CPU是6核的,我把 num_parallel_workers 改成了 3,一边训练一边后悔。CPU的风扇呼呼的吹。。。现在觉得改成 1,是最稳的,慢点就慢点,挺好。

CPU的核数可以在 设备管理器 中查看

微信截图_20210124175907.png

CPU的利用率可以在 任务管理器 中查看

微信截图_20210124163307.png

训练完成

微信截图_20210124165754.png

扫码安装APP,把pet.ms发到APP的文件夹中

微信截图_20210124181230.png

测试效果

微信截图_20210124181211.png

posted @ 2021-12-31 09:19  MS小白  阅读(33)  评论(0)    收藏  举报