利用ModelArts进行垃圾识别&&手势识别

举报
yd_227165310 发表于 2023/11/07 18:32:43 2023/11/07
【摘要】 一、 华为云“云上先锋”·AI 学习赛BaseLine创建obs桶和文件夹选择单AZ储存,因为价格便宜输入桶名称然后创建点击桶名称进入桶,再点击对象并创建文件夹Dataset——数据集,codes——存放代码,model_output——输出的模型文件拷贝数据集和代码打开网址https://console.huaweicloud.com/modelarts/?region=cn-north...

一、 华为云“云上先锋”·AI 学习赛BaseLine

  1. 创建obs桶和文件夹
    image.png
    选择单AZ储存,因为价格便宜
    输入桶名称然后创建
    image.png
    点击桶名称进入桶,再点击对象并创建文件夹
    Dataset——数据集,codes——存放代码,model_output——输出的模型文件
    image.png

  2. 拷贝数据集和代码
    打开网址https://console.huaweicloud.com/modelarts/?region=cn-north-4#/dev-container
    点击开发环境->Notebook
    image.png
    点击创建
    image.png
    公共镜像选择tensorflow1.13-cuda10.0-cudnn7-ubuntu18.04,储存配置选择云硬盘EVS
    下载安装OBSBrowser+,下载地址:https://support.huaweicloud.com/browsertg-obs/obs_03_1003.html
    然后点击获取AccessKey,新增访问密钥
    image.png
    点击确定,并下载密钥文件
    输入对应框并登录
    image.png
    在对应的文件夹上传文件
    image.png
    image.png

  3. 在 ModelArts 全局配置中配置访问授权
    在ModelArts控制台,点击全局配置,添加授权,同意授权。
    image.png

  4. 创建训练作业
    首先点击算法管理,创建算法
    image.png
    AI引擎选择旧版的TF-1.13.1+Python3.6
    代码目录选择codes/src/
    启动文件选择代码目录下的run.py文件
    创建算法
    点击训练管理,训练作业,创建训练作业
    image.png
    训练输入选择train_data文件夹,输出训练选择model_output文件夹
    并增加超参,deploy_script_path,值输入s3://桶名称/codes/src/deploy_scripts/
    提交,等待训练成功
    image.png

  5. 导入模型管理
    点击AI应用管理->AI应用->创建AI应用
    image.png
    image.png
    元类型来源选择从OBS选择,选择元类型,选择model_output文件夹,部署服务勾选在线服务,点击立即创建
    image.png
    等待导入和构建
    image.png
    构建成功之后,点击部署->在线服务
    image.png
    点击下一步然后提交
    等待部署完成,体验效果
    image.png

二、 手势识别

  1. 创建obs桶和文件夹(与前面相同)

  2. 将数据集和代码上传
    image.png

  3. 创建训练作业
    和前面步骤一样,不重复说明
    image.png

  4. 创建AI应用
    image.png
    image.png

  5. 部署在线应用
    image.png
    image.png

  6. 功能测试
    image.png

  7. 添加自己的独特手势,并重新进行3-5步骤。

  8. 测试自己的手势,Gun(手枪)
    image.png

三、出现的问题和解决办法

  1. 网页端不能上传超过100个文件
    image.png
    解决办法:选择使用OBSBrowser+客户端,实验过程里有介绍

  2. 创建作业时报错AttributeError:module tensorflow no attribute app
    image.png
    经过查阅资料得知是TF版本问题
    解决方法:去算法页面将算法的AI引擎版本修改为TF-1.13.1+Python3.6
    参考资料:https://blog.csdn.net/qq_24163555/article/details/102954704

  3. 训练作业过程中报错某个链接404
    image.png
    解决办法:下载对应的文件,并上传至OBS,获取分享链接,并修改codes/models下的resnet50.py的第39行修改成自己的链接
    image.png

    文件下载地址:https://www.cnblogs.com/eniac1946/p/7808439.html

  4. 直接将手势识别的图片导入垃圾分类的train_data目录下无法训练作业
    经过比较,发现垃圾分类和手势识别的图片下的txt文件格式不对,批量处理起来有点麻烦
    于是写了一个python文件,批量修改

    import os
    gesture_type = ['Background','Great','OK','Other','Rock','Yeah']
    for file in os.listdir(path='.'):
        if 'txt' in file:
            name = file.split('.')[0]
            pic = [i for i in os.listdir(path='.') if name in i and 'txt' not in i][0]
            with open(file,'r') as f:
                gesture = f.read()
                result = pic+', '+str(gesture_type.index(gesture))
            with open(file,'w') as f:
                f.write(result)
    print('Change Successfully!')
    

    垃圾分类下txt文件格式为,图片名+规则rule的json文件key值
    于是修改dataset的目录下garbage_classify_rule.json文件

    {
        "0":"Background",
        "1":"Great",
        "2":"OK",
        "3":"Other",
        "4":"Rock",
        "5":"Yeah",
        "6":"Gun"
    }
    

    并且,deploy_scripts/customize_service.py文件使用了相同规则
    image.png

    修改文件为手势识别的内容,然后部署上云即可

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。