百度AI进阶实战营第九期:机械手抓取

简介: 百度AI进阶实战营第九期:机械手抓取

Day 0

第一步:创建Notebook模型任务

step1:进入BML主页,点击立即使用

🔗https://ai.baidu.com/bml/

图片

step2:点击Notebook,创建“通用任务”

图片

step3:填写任务信息

图片


第二步:下载任务操作模板

下载链接:https://aistudio.baidu.com/aistudio/datasetdetail/121560

图片

Day 1

第一步:配置Notebook

1.找到昨天创建的Notebook任务,点击配置

  • 开发语言:Python3.7
  • AI框架:PaddlePaddle2.0.0
  • 资源规格:GPU V100

图片

2.打开Notebook

图片

3.上传本次Notebook操作模型

若没来得及下载,请点击链接下载:https://aistudio.baidu.com/aistudio/datasetdetail/121560

图片

第二步:环境准备

1.安装paddlex

!pip install paddlex #安装paddlex

图片

图片

2.安装filelock

!pip install filelock #安装filelock

图片

3.将paddlepaddle升级至2.2.1版本

!pip install paddlepaddle-gpu==2.2.1.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html #升级paadlepaddle-gpu

图片

图片

第三步:数据准备

1.下载数据集

!wget -P data/ https://bj.bcebos.com/paddlex/examples2/robot_grab/dataset_manipulator_grab.zip #下载数据集

图片

2.解压数据集

!cd 'data' && unzip -q dataset_manipulator_grab.zip #在data文件夹中解压数据集

图片

3.将数据集转换为MSCOCO格式

!paddlex --data_conversion --source labelme --to MSCOCO --pics data/dataset_manipulator_grab/JPEGImages --annotations data/dataset_manipulator_grab/Annotations --save_dir dataset

图片

图片

4.使用paddlex进行数据切分

将训练集、验证集和测试集按照7:2:1的比例划分

!paddlex --split_dataset --format COCO --dataset_dir dataset --val_value 0.2 --test_value 0.1

图片

图片

数据文件夹切分前后的状态如下:

  dataset/                      dataset/
  ├── JPEGImages/       -->     ├── JPEGImages/
  ├── annotations.json          ├── annotations.json
                                ├── test.json
                                ├── train.json
                                ├── val.json

第四步:保存Notebook并关闭、停止运行

图片

图片

Day 2

第一步:重新安装环境

1.启动Notebook并打开

图片

2.重新执行三条安装命令

图片

图片

图片

第二步:模型训练

1.调用paddlex

import paddlex as pdxfrom paddlex import transforms as T

图片

2.定义训练和验证时的transforms

API说明:https://github.com/PaddlePaddle/PaddleX/blob/release/2.0-rc/paddlex/cv/transforms/operators.py

train_transforms = T.Compose([    T.RandomResizeByShort(        short_sizes=[640, 672, 704, 736, 768, 800],        max_size=1333,        interp='CUBIC'), T.RandomHorizontalFlip(), T.Normalize(            mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])])
eval_transforms = T.Compose([    T.ResizeByShort(        short_size=800, max_size=1333, interp='CUBIC'), T.Normalize(            mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])])

图片

3.定义训练和验证所用的数据集

API:https://github.com/PaddlePaddle/PaddleX/blob/develop/paddlex/cv/datasets/coco.py#L26

train_dataset = pdx.datasets.CocoDetection(    data_dir='dataset/JPEGImages',    ann_file='dataset/train.json',    transforms=train_transforms,    shuffle=True)eval_dataset = pdx.datasets.CocoDetection(    data_dir='dataset/JPEGImages',    ann_file='dataset/val.json',    transforms=eval_transforms)

图片

4.初始化模型

可使用VisualDL查看训练指标,参考https://github.com/PaddlePaddle/PaddleX/tree/release/2.0-rc/tutorials/train#visualdl可视化训练指标

num_classes = len(train_dataset.labels)model = pdx.det.MaskRCNN(    num_classes=num_classes, backbone='ResNet50', with_fpn=True)

图片

5.训练参数配置,并开始训练

API说明:https://github.com/PaddlePaddle/PaddleX/blob/release/2.0-rc/paddlex/cv/models/detector.py#L155

各参数介绍与调整说明:https://paddlex.readthedocs.io/zh_CN/develop/appendix/parameters.html

model.train(    num_epochs=10,    train_dataset=train_dataset,    train_batch_size=1,    eval_dataset=eval_dataset,    learning_rate=0.00125,    lr_decay_epochs=[8, 11],    warmup_steps=10,    warmup_start_lr=0.0,    save_dir='output/mask_rcnn_r50_fpn',    use_vdl=True)

图片

图片

图片

第三步:保存Notebook并关闭、停止运行

图片

图片

Day 3

第一步:重新安装环境

1.启动Notebook并打开

图片

2.重新执行三条安装命令

图片

图片

图片

第二步:重新安装环境

import glob
import numpy as np
import threading
import time
import random
import os
import base64
import cv2
import json
import paddlex as pdx

image_name = 'dataset/JPEGImages/Image_20210615204210757.bmp'
model = pdx.load_model('output/mask_rcnn_r50_fpn/best_model')

img = cv2.imread(image_name)
result = model.predict(img)

keep_results = []
areas = []
f = open('result.txt', 'a')
count = 0
for dt in np.array(result):
    cname, bbox, score = dt['category'], dt['bbox'], dt['score']
    if score < 0.5:
        continue
    keep_results.append(dt)
    count += 1
    f.write(str(dt) + '\n')
    f.write('\n')
    areas.append(bbox[2] * bbox[3])
areas = np.asarray(areas)
sorted_idxs = np.argsort(-areas).tolist()
keep_results = [keep_results[k]
                for k in sorted_idxs] if len(keep_results) > 0 else []
print(keep_results)
print(count)
f.write("the total number is :" + str(int(count)))
f.close()
pdx.det.visualize(
    image_name, result, threshold=0.5, save_dir='./output/mask_rcnn_r50_fpn')

图片

图片

图片

第三步:保存Notebook并关闭、停止运行

图片

图片
完整的代码:
https://download.csdn.net/download/hhhhhhhhhhwwwwwwwwww/67332976

目录
相关文章
|
2月前
|
存储 人工智能 搜索推荐
解锁AI新境界:LangChain+RAG实战秘籍,让你的企业决策更智能,引领商业未来新潮流!
【10月更文挑战第4天】本文通过详细的实战演练,指导读者如何在LangChain框架中集成检索增强生成(RAG)技术,以提升大型语言模型的准确性与可靠性。RAG通过整合外部知识源,已在生成式AI领域展现出巨大潜力。文中提供了从数据加载到创建检索器的完整步骤,并探讨了RAG在企业问答系统、决策支持及客户服务中的应用。通过构建知识库、选择合适的嵌入模型及持续优化系统,企业可以充分利用现有数据,实现高效的商业落地。
104 6
|
5天前
|
机器学习/深度学习 人工智能 物联网
AI赋能大学计划·大模型技术与应用实战学生训练营——电子科技大学站圆满结营
12月05日,由中国软件行业校园招聘与实习公共服务平台携手阿里魔搭社区共同举办的AI赋能大学计划·大模型技术与产业趋势高校行AIGC项目实战营·电子科技大学站圆满结营。
AI赋能大学计划·大模型技术与应用实战学生训练营——电子科技大学站圆满结营
|
11天前
|
机器学习/深度学习 人工智能 JSON
【实战干货】AI大模型工程应用于车联网场景的实战总结
本文介绍了图像生成技术在AIGC领域的发展历程、关键技术和当前趋势,以及这些技术如何应用于新能源汽车行业的车联网服务中。
148 32
|
4月前
|
存储 人工智能
|
7天前
|
人工智能 自然语言处理 算法
AI时代的企业内训全景图:从案例到实战
作为一名扎根在HR培训领域多年的“老兵”,我越来越清晰地感受到,企业内训的本质其实是为企业持续“造血”。无论是基础岗的新人培训、技能岗的操作规范培训,还是面向技术中坚力量的高阶技术研讨,抑或是管理层的战略思维提升课,内训的价值都是在帮助企业内部提升能力水平,进而提高组织生产力,减少对外部资源的依赖。更为重要的是,在当前AI、大模型、Embodied Intelligence等新兴技术快速迭代的背景下,企业必须不断为人才升级赋能,才能在市场竞争中保持领先。
|
2月前
|
存储 人工智能 分布式计算
Parquet 文件格式详解与实战 | AI应用开发
Parquet 是一种列式存储文件格式,专为大规模数据处理设计,广泛应用于 Hadoop 生态系统及其他大数据平台。本文介绍 Parquet 的特点和作用,并演示如何在 Python 中使用 Pandas 库生成和读取 Parquet 文件,包括环境准备、生成和读取文件的具体步骤。【10月更文挑战第13天】
340 60
|
2月前
|
人工智能 资源调度 数据可视化
【AI应用落地实战】智能文档处理本地部署——可视化文档解析前端TextIn ParseX实践
2024长沙·中国1024程序员节以“智能应用新生态”为主题,吸引了众多技术大咖。合合信息展示了“智能文档处理百宝箱”的三大工具:可视化文档解析前端TextIn ParseX、向量化acge-embedding模型和文档解析测评工具markdown_tester,助力智能文档处理与知识管理。
|
2月前
|
机器学习/深度学习 人工智能 开发框架
解锁AI新纪元:LangChain保姆级RAG实战,助你抢占大模型发展趋势红利,共赴智能未来之旅!
【10月更文挑战第4天】本文详细介绍检索增强生成(RAG)技术的发展趋势及其在大型语言模型(LLM)中的应用优势,如知识丰富性、上下文理解和可解释性。通过LangChain框架进行实战演练,演示从知识库加载、文档分割、向量化到构建检索器的全过程,并提供示例代码。掌握RAG技术有助于企业在问答系统、文本生成等领域把握大模型的红利期,应对检索效率和模型融合等挑战。
202 14
|
1月前
|
机器学习/深度学习 人工智能 算法
AI赋能大学计划·大模型技术与应用实战学生训练营——吉林大学站圆满结营
10月30日,由中国软件行业校园招聘与实习公共服务平台携手魔搭社区共同举办的AI赋能大学计划·大模型技术与产业趋势高校行AIGC项目实战营·吉林大学站圆满结营。
|
2月前
|
机器学习/深度学习 数据采集 人工智能
【紧跟AI浪潮】深度剖析:如何在大模型时代精准捕获用户心声——提高召回率的实战秘籍
【10月更文挑战第5天】在深度学习领域,大型模型常面临召回率不足的问题,尤其在信息检索和推荐系统中尤为关键。本文通过具体代码示例,介绍如何提升大模型召回率。首先,利用Pandas进行数据预处理,如清洗和特征工程;其次,选择合适的模型架构,如使用PyTorch构建推荐系统;再者,优化训练策略,采用合适的损失函数及正则化技术;此外,选择恰当的评估指标,如召回率和F1分数;最后,通过后处理优化结果展示。以上方法不仅提升召回率,还增强了模型整体性能。
95 0