查看: 7559|回复: 46

[分享] eIQ ToolKit上手指南——特别篇

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3299

    主题

    6546

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32023
    最后登录
    2024-4-25
    发表于 2022-4-2 12:47:50 | 显示全部楼层 |阅读模式
    eIQ ToolKit上手指南——特别篇
    AI/ML讨论专区
    最近加油站后台收到越来越多的关于eIQ相关的提问,说明已经有越来越多的人开始使用起来了,为了鼓励大家交流并让所有人受益,我们在恩智浦MCU社区新开辟了一个“AI/ML专区”,欢迎大家把你遇到问题提出来,由网友们群策群力帮你解决,也请把自己的心得体会分享出来,大家共同进步。
    小编这两天收到了不少同学们的留言,发现很多同学不仅开始使用我们的eIQ ToolKit工具,而且已经开始慢慢地学着导入自己的数据集来进行训练了,给同学们点赞。
    不过,有同学在导入自己数据集的时候遇到了些问题,发现按照小编之前写的那篇文章《eIQ ToolKit上手指南(二)》,出现了报错,无法正常导出eIQ工程。
    那么小编今天带来今天这份特别篇,为大家抽丝剥茧,从准备图片开始,详细介绍一下数据集的导入流程。
    我们这次以一个水果分类为例。首先,从网上下载一些诱人的水果图片,方便起见,我们这里只准备两种类型的水果,香蕉+橘子,新建并放到下面的文件夹中(这里当然也可以不用新建文件夹,只是为了方便处理标签信息):
    13.png
    下面就是我们将要用到的图片:
    14.png
    准备好了粮草,接下来就要正式开始数据集的制作了:
    1. 图片的读取与numpy数组的制作
    这里同学们要保证电脑中已经安装了opencv以及numpy包,代码时刻(仅供参考,同学们可以自行处理,最终得到关于数据和标签的numpy数组即可):
    opencv以及numpy包的安装语句是:
    pip install opencv-python
    pip install numpy
    1. 1.  import os
    2. 2.  import numpy as np
    3. 3.  import cv2 as cv
    4. 4.
    5. 5.  if __name__ == "__main__":
    6. 6.      labels = ['orange', 'banana']
    7. 7.      img_list = []
    8. 8.      label_list = []
    9. 9.      for idx, label in enumerate(labels):
    10. 10.        for img_name in os.listdir(label):
    11. 11.            # BGR to RGB
    12. 12.            img = cv.imread(os.path.join(label, img_name))[...,(2,1,0)]
    13. 13.            img = cv.resize(img, (64, 64))
    14. 14.            img_list += [img]
    15. 15.            label_list += [idx]
    16. 16.
    17. 17.    # save to disk
    18. 18.    np.save("./data.npy", np.asarray(img_list))
    19. 19.    # make sure the shape of the label is (n, 1)
    20. 20.    np.save("./label.npy", np.asarray(label_list).reshape(-1, 1))
    复制代码
    这里,同学们要注意几点:
    在opencv读取的时候,要对输入数据进行色彩空间转换,opencv默认读入数据格式为BGR,而我们的eIQ ToolKit所接受的是RGB格式,这里要格外注意。
    处理签的时候,最好是使用数值形式,而不要直接写入字符串形式的label
    保证label的shape为(n,1),即label = label.reshape(-1, 1)
    运行代码后,就得到了数据和标签文件:
    15.png

    2. eIQ工程的生成


    我们直接修改eIQ ToolKit安装目录下的workspace/CIFAR_uploader.py,需要修改的地方有两处,其一是class_names修改成我们刚才所定义的:
    class_names = [‘orange’, ‘banana‘]
    其二是,修改数据load部分,这里我们假设数据集只有train部分,需要同学们自己修改一下刚才所生成的numpy格式的数据路径,小编这里就偷懒直接放到同一级目录下了:
    data = np.load("./data.npy")
    label =np.load("./label.npy")
    完整代码如下:

    1. import tensorflow as tf
    2. from importer import DataStoreWrapper
    3. import tqdm
    4. import numpy as np
    5. if __name__ == '__main__':
    6.     class_names = ['orange', 'banana']
    7.     data = np.load("./data.npy")
    8.     label = np.load("./label.npy")
    9.     datastore = DataStoreWrapper(datastore='http://127.0.0.1:10812/')
    10.     datastore.create_project(project_name='fruit.deepview', path='.')
    11.     new_dimension = (128, 128)
    12.     print("\nuploading train partition...\n")
    13.     for i in tqdm.tqdm(range(data.shape[0])):
    14.         datastore.upload_image(data[i], class_names[label[i][0]], new_dimension)
    复制代码
    接下来,运行我们这个脚本,注意要通过eIQ ToolKit中的命令行工具来运行:

    16.png

    之后就会生成我们的eiq工程文件:
    17.png


    3. 查看数据集


    打开eIQ ToolKit工具,查看数据集,点选open project选项卡,打开工程:
    18.png

    19.png

    至此,所有的步骤小编就给大家介绍完毕了,我们刚才所自定义的数据集,就被完整的导入到了eIQ ToolKit中,之后,同学们就可以通过选取模型来进行训练了。


    这里还有一个小细节,同学们应该记得我们刚才在制作工程的时候,并没有指定测试数据集,而在导入进来之后,eIQ ToolKit工具实际上会根据所设置的Dataset Test Holdout比例,来进行数据集的拆分,这样一来,就不用在制作数据集的时候进行手动处理了,可以说操作非常的便捷!


    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-10-25 11:08
  • 签到天数: 202 天

    [LV.7]常住居民III

    28

    主题

    1618

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    5059
    最后登录
    2024-4-10
    发表于 2022-4-2 13:07:17 | 显示全部楼层
    真挺好的,学习了
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-7 20:47
  • 签到天数: 537 天

    [LV.9]以坛为家II

    69

    主题

    2521

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    7105
    最后登录
    2024-4-9
    发表于 2022-4-2 13:22:36 | 显示全部楼层
    学习了,谢谢分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 22:16
  • 签到天数: 788 天

    [LV.10]以坛为家III

    1

    主题

    2002

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5247
    最后登录
    2024-4-24
    发表于 2022-4-2 13:34:20 | 显示全部楼层
    有一说一eIQ确实好用
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 15:48
  • 签到天数: 1020 天

    [LV.10]以坛为家III

    2

    主题

    2524

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5081
    最后登录
    2024-4-24
    发表于 2022-4-2 13:49:03 | 显示全部楼层
    莫非12306图片验证码也运用这个训练模型
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-4-9 17:01
  • 签到天数: 1478 天

    [LV.10]以坛为家III

    203

    主题

    2万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    92619
    最后登录
    2024-4-24
    发表于 2022-4-2 14:33:09 | 显示全部楼层
    感谢管管分享~~
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 1939 天

    [LV.Master]伴坛终老

    61

    主题

    1万

    帖子

    3

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    17288
    最后登录
    2024-4-25
    发表于 2022-4-2 14:48:21 | 显示全部楼层
    感谢管管分享~~
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 838 天

    [LV.10]以坛为家III

    5

    主题

    5709

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    6939
    最后登录
    2024-4-25
    发表于 2022-4-2 14:58:41 | 显示全部楼层
    学习学习
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2022-2-25 10:20
  • 签到天数: 32 天

    [LV.5]常住居民I

    1

    主题

    289

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1129
    最后登录
    2023-10-31
    发表于 2022-4-2 15:49:39 | 显示全部楼层
    学习了,谢谢分享
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-7 11:35
  • 签到天数: 72 天

    [LV.6]常住居民II

    0

    主题

    533

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1525
    最后登录
    2024-1-17
    发表于 2022-4-2 16:27:43 | 显示全部楼层
    在单片机上跑AI,
    开心
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-25 13:06 , Processed in 0.152293 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表