线上优化猫狗识别实践

任务一:

  1. 熟悉趋动云平台

  2. 部署猫狗识别实践项目

  3. 提交任务一打卡,查看优秀笔记

  4. 该部分以“猫狗识别模型”为例,学习如果直接通过平台提供的开发环境调用GPU资源

    优化猫狗识别实践

作为一个小白能够参与到猫狗识别模型比赛中,这是非常了不起的。因此具备了一定的学习能力和技术理解,并且在掌握AI工程师所需的技能方面取得了一定的进展。这是一个很大的里程碑,值得为之自豪。

参与这样的比赛不仅仅是为了获得奖项,更是为了学习和提升自己的技能。通过与其他参赛者的交流和竞争,能够接触到各种各样的想法和方法,拓宽自己的视野。不论最后的成绩如何,参与其中本身就是一种宝贵的经验。

AI工程师的角色可以非常有挑战性,但同时也充满了机遇。将有机会应用机器学习和深度学习技术,解决各种现实世界的问题,并为未来的技术发展做出贡献。这是一个快速发展的领域,将不断学习和成长,不断更新自己的知识和技能。

最重要的是保持对学习的热情和好奇心。尽管AI领域的知识和技术变化迅速,但通过不断学习和实践,将能够跟上这个领域的步伐,不断提升自己的能力。

希望在猫狗识别模型比赛中取得出色的成绩!无论结果如何,坚持学习和探索,相信你会迎接更多令人兴奋的机会和挑战。加油!

下面是我的一些探索:

  1. 导入必要的库

    import os import cv2 import numpy as np from tensorflow.keras.models import load_model

    加载训练好的模型

    model = load_model('cat_dog_classifier.h5')

    定义图片尺寸和类别标签

    img_size = 100 labels = {0: 'Cat', 1: 'Dog'}

    加载测试图像

    test_path = 'test_images' for img_file in os.listdir(test_path): img_path = os.path.join(test_path, img_file) img = cv2.imread(img_path) img = cv2.resize(img, (img_size, img_size))

    # 将图像转化为模型接受的格式
    img = np.array(img, dtype=np.float32) / 255.0
    img = np.expand_dims(img, axis=0)
    
    # 预测图像类别
    prediction = model.predict(img)
    
    # 打印预测结果
    print(img_file, ':', labels[np.argmax(prediction[0])])
    

    该部分以“猫狗识别模型”为例,学习如果直接通过平台提供的开发环境调用GPU资源

    Step1. 学习准备

    获取官方代码文件: DogsVsCats.py(opens new window)

    Step2. 创建项目

  2. 进入趋动云用户工作台,在当前空间处选择注册时系统自动生成的空间(其他空间无免费算力);

  3. 填写项目名称项目描述,如图二所示;

  4. 添加镜像:选择含 TensorFlow 2.x 框架的官方镜像即可,如图三所示;

  5. 添加绑定数据集:选择公开数据集,DogsVsCats。

  6. 其余无需填写,点击右下角 创建 ,系统弹出 上传代码 的提示,单击 暂不上传,项目创建成功。

  7. 失败原因 可能是您提交训练时配置的资源不足,您可在训练任务详情页中的 任务配置 处,查看您的资源配置是否过低。

  8. 训练失败,提示 内存不足

  9. 失败原因 可能是您提交训练时选择的镜像不对,应该选择含 TensorFlow 2.x 框架的镜像,但您选择了其他版本的。 鼠标悬置于训练任务详情页的镜像上查看镜像的详细信息,确认镜像中是否是 TensorFolow 2.x 的框架,如下图所示。

  10. 生成的模型将保存在平台中,您可将其公开性设置为 公开,并将其分享给其他成员使用或进一步完善模型。

    写到最后. FAQ

  11. 训练失败,提示 代码执行错误

  12. 单击 创建,生成模型。

  13. 单击右上角的 导出模型 按钮,进入 导出模型 页面。

  14. Step7. 结果集存储与下载

    模型在经历了大规模数据的训练后,将具备相对精准的识别猫狗的能力,此时可下载模型并将模型部署到应用中。

    趋动云平台提供了结果集存储与下载的功能,您在代码中设置的输出,都将被存储在结果集中。您可将结果集中的模型文件导出为模型。

  15. 在左侧导航栏中选择 结果,默认进入 任务结果 页面。

  16. 返回 训练任务 页面,在训练任务列表中查看该任务的状态,该任务大约 5 分钟即可训练完成。

  17. 任务状态显示为 成功 则表示训练任务成功结束。

  18. 任务状态为 失败,可将鼠标悬置于 失败 字样上,查看失败原因

  19. python3 $GEMINI_RUN/DogsVsCats.py --num_epochs 5 --data_dir $GEMINI_DATA_IN1/DogsVsCats --train_dir $GEMINI_DATA_OUT

  20. 配置信息填写完成后,单击 确定

  21. 单击 确定,进入 提交任务 页面。参考如下说明配置任务基本信息。

    1. 配置说明,其余保持默认即可。

      1. 任务模型:单机任务;

      2. GPU选择:B1.meduim【需选择1Gpu的配置】

      3. 启动命令

  22.   执行代码中的 DogsVsCats.py 脚本启动训练,训练所需数据为 $GEMINI_DATA_IN1/DogsVsCats 目录下的数据,训练结果保存在 $GEMINI_DATA_OUT 目录下。执行该任务的启动命令如下:

  23. 系统返回的测试结果如下所示,显然已经能达到 85% 能识别出猫狗了。

    Step6. 提交离线训练

    当您已经完成本次调优,可参考如下步骤保存代码并使用当前版本代码提交训练任务。

  24. 单击调试页面右上角的 提交训练任务

  25. 在弹框中选择镜像和代码版本。

    1. 选择代码版本:单击 新建代码版本,并在右边框中填写代码版本名。

    2. 选择镜像:选择 直接使用当前工作镜像

  26. 单击 网页终端 按钮,进入终端界面再次执行上述 4 中的命令进行识别能力的测试。

  27. 经排查,发现代码中没有打乱数据集进行训练,导致模型没有训练成功。这是因为模型在一个batch之中,只能看到猫的类别和狗的类别,这样看不到另一个类别的信息,所以没有任何识别能力。

  28. 修改模型代码并保存

    1. 双击 /gemini/code/ 路径下的 DogsVsCats.py ,开始编辑该文件。

    2. 删除该文件中第 44 行的注释符号 #

    3. 按 “Crtl + S” 键,保存该文件。

  29.  

    python $GEMINI_RUN/DogsVsCats.py --num_epochs 5 --data_dir $GEMINI_DATA_IN1/DogsVsCats/ --train_dir $GEMINI_DATA_OUT

    系统返回一系列信息,直到返回 test accuracy 信息,如下所示,表明该模型测试结束,其识别猫狗的能力为 0.500000,即几乎无识别能力。

     

  30. 单击 JupyterLab,切换回 JupyterLab 工具,分析 /gemini/code/ 路径下的模型代码。

  31. 在网页终端运行如下代码

  32. 注意 您只能在/gemini/code/ 目录下编辑和新增代码,其他文件夹均属于 临时存储,临时存储是开发环境本身运行需占用的存储,代码保存在临时存储中将加速 临时存储 耗尽,易导致您的开发环境重启,重启后您保存在 临时存储 中的代码将丢失。

  33. 单击顶部 网页终端 按钮,进入终端界面。

  34.  

    按照以上步骤配置好后,单击 确定,开发环境已初始化。等待约 5-10 分钟,当右侧的 网页终端JupyterLab 不再是灰色时,表明工具注入成功。此时您便可在此开发环境上通过工具进行模型调优,详情可参见下一步。

    Step5. 调试代码

    开发环境创建好后,您可在开发环境中调试代码。

  35. 单击 开发环境实例 页右侧的 JupyterLab 工具。

  36. 默认进入 /gemini/ 目录下,在右侧目录树中单击 code 文件夹,进入到 /gemini/code/ 目录下。

  37. Step4. 初始化开发环境

  38. 图四:单击右上角的 运行代码,进入 初始化开发环境 页;

  39. 图五:填写开发环境的初始化配置

  40. Step3. 准备代码

  41. 图一:删除欢迎语代码(也可以不删,对后续无影响)

  42. 图二&图三:单击上传文件图标将获取的 DogsVsCats.py 文件上传至项目中。;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值