You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 2.6 kB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. # 如何在启智平台上进行模型训练—NPU_手写数字识别示例
  2. ## 1.启智集群和智算集群的NPU训练样例
  3. ###### 启智集群的示例代码:
  4. - 训练任务单卡示例请参考示例中[train.py](./train.py)的代码注释
  5. - 训练任务多卡示例请参考示例中[train_multi_card.py](./train_multi_card.py)的代码注释
  6. - 训练任务示例请参考示例中[inference.py](./inference.py)的代码注释
  7. - 启智集群训练任务已经将ImageNet-1k数据集挂载到训练镜像,具体使用方法请参考示例中[read_imagenet.py](./read_imagenet.py)的代码注释
  8. ## 2. 在云脑上获取数据集,预训练模型,输出路径
  9. 使用c2net包
  10. ```
  11. #导入包
  12. from c2net.context import prepare, upload_openi
  13. #初始化导入数据集和预训练模型到容器内
  14. c2net_context = prepare()
  15. #获取代码路径,数据集路径,预训练模型路径,输出路径
  16. code_path = c2net_context.code_path
  17. dataset_path = c2net_context.dataset_path
  18. pretrain_model_path = c2net_context.pretrain_model_path
  19. output_path = c2net_context.output_path
  20. #回传结果到openi
  21. upload_output()
  22. ```
  23. ## 3.[创建NPU训练示例任务界面教程](./Example_Picture/快速创建NPU训练任务.md)
  24. ## 4.FAQ
  25. ### 4.1 关于公共库[c2net](https://openi.pcl.ac.cn/OpenIOSSG/c2net-pypi):
  26. 主要使用的方法有以下几个:
  27. ```
  28. prepare 准备数据集,模型,输出路径
  29. c2net.context.upload_output 将训练镜像的输出结果拷贝回启智平台
  30. c2net.context.moxing_helper.obs_copy_file 通过mox拷贝文件
  31. c2net.context.moxing_helper.obs_copy_folder 通过mox拷贝文件夹
  32. ```
  33. ### 4.2 解决参数报错问题:
  34. 请在代码中加入 `args, unknown = parser.parse_known_args()`,可忽略掉 `--ckpt_url`,`--data_url`, `--multi_date_url`等参数报错问题
  35. ### 4.3 多卡训练任务如何只让数据集只拷贝一次
  36. 使用缓存文件和local_rank%8作为判断,若第0卡拷贝完成,则其它卡不拷贝,并在第0卡拷贝数据完成后才执行之后的代码
  37. ```
  38. if local_rank%8==0:
  39. 这里省略下载数据的代码...
  40. f = open("/cache/download_input.txt", 'w')
  41. f.close()
  42. try:
  43. if os.path.exists("/cache/download_input.txt"):
  44. print("download_input succeed")
  45. except Exception as e:
  46. print("download_input failed")
  47. while not os.path.exists("/cache/download_input.txt"):
  48. time.sleep(1)
  49. ```
  50. ## 对于示例代码有任何问题,欢迎在本项目中提issue。

No Description