百度PaddlePaddle
我是天才很好
深度学习算法工程师
github: https://github.com/wstchhwp
个人邮箱:1103540209@qq.com
展开
-
PreconditionNotMetError: The third-party dynamic library (libcublas.so) that Paddle depends on is no
运行paddle报错:C++ Call Stacks (More useful to developers):--------------------------------------------0 std::string paddle::platform::GetTraceBackString<std::string>(std::string&&, char const*, int)1 paddle::platform::EnforceNotMet::Enfo转载 2022-01-05 18:31:08 · 1368 阅读 · 0 评论 -
训练数据太少?过拟合?一文带你领略“数据增长魔法”(上)
注意:本文是转载博客,如有侵权,请联系删除!运行环境及其Paddle版本【下面是我的主页链接】来AI Studio互粉吧 https://aistudio.baidu.com/aistudio/personalcenter/thirdview/76563【项目列表】一文帮你理解用Paddle训练模型的原理1-手写回归模型 (https://aistudio.baidu.com/aistudio/projectdetail/367090)一文帮你理解用Paddle训练模型的原理2-权值可视化(V转载 2020-07-15 16:31:01 · 3092 阅读 · 0 评论 -
训练数据太少?过拟合?一文带你领略“数据增长魔法”(下)
注意:本文是转载博客,如有侵权,请联系删除!【下面是我的主页链接】来AI Studio互粉吧 https://aistudio.baidu.com/aistudio/personalcenter/thirdview/76563【项目列表】训练数据太少?过拟合?一文带你领略“数据增长魔法”(上) (https://aistudio.baidu.com/aistudio/projectdetail/408059)训练数据太少?过拟合?一文带你领略“数据增长魔法”(下) (https://aistud转载 2020-07-15 16:40:38 · 2302 阅读 · 0 评论 -
基于PaddleDetection的YOLOv3车辆检测
如有疑问,欢迎与我探讨,联系邮箱:1103540209@qq.com代码:链接: https://pan.baidu.com/s/1nwqzpFggGmDlwYXDUX2RxQ 提取码: g8wn识别效果:原创 2020-07-13 20:51:28 · 2225 阅读 · 3 评论 -
PaddleDetection进阶教程3#模型参数配置
文章目录1. 配置模块设计与介绍1.1 简介1.2 设计思想1.3 基本设计1.3.1 API1.3.2 示例1.4 安装依赖1.5 相关工具2. RCNN系列模型参数配置教程1. 配置模块设计与介绍1.1 简介为了使配置过程更加自动化并减少配置错误,PaddleDetection的配置管理采取了较为严谨的设计。1.2 设计思想目前主流框架全局配置基本是一个Python dict,这种设计对配置的检查并不严格,拼写错误或者遗漏的配置项往往会造成训练过程中的严重错误,进而造成时间及资源的浪费。为了避原创 2020-07-13 16:46:25 · 3252 阅读 · 0 评论 -
PaddleDetection进阶教程2#搭建模型步骤
注: 本博客参考https://github.com/PaddlePaddle,仅为学习交流使用,如有侵权,请联系删除!文章目录1. 简介2. 新增模型2.1 Backbone编写2.2 检测组件编写2.3 模型组网2.4 模型输入设置3. 定义公共检测组件/算子4. 配置及运行为了让用户更好的使用PaddleDetection,本文档中,我们将介绍PaddleDetection的主要模型技术细节及应用,包括:如何搭建模型,如何定义检测组件和模型配置与运行。1. 简介PaddleDetection原创 2020-07-13 15:57:42 · 1808 阅读 · 1 评论 -
PaddleDetection进阶教程1#数据处理模块
注: 本博客参考https://github.com/PaddlePaddle,仅为学习交流使用,如有侵权,请联系删除!目录简介数据准备数据解析COCO数据源Pascal VOC数据源添加新数据源数据预处理数据增强算子自定义数据增强算子组建Reader迭代器配置及运行训练配置评估配置推理配置运行简介PaddleDetection的数据处理模块是一个Python模块,所有代码逻辑在ppdet/data/中,数据处理模块用于加载数据并将其转换成适用原创 2020-07-13 14:55:55 · 3377 阅读 · 2 评论 -
PaddleDetection常见问题汇总
注: 本博客参考https://github.com/PaddlePaddle,仅为学习交流使用,如有侵权,请联系删除!FAQ(常见问题)Q: 为什么我使用单GPU训练loss会出NaN? A: 默认学习率是适配多GPU训练(8x GPU),若使用单GPU训练,须对应调整学习率(例如,除以8)。计算规则表如下所示,它们是等价的,表中变化节点即为piecewise decay里的boundaries: GPU数学习率最大轮数变化节点20.0025720000[480原创 2020-07-13 14:40:54 · 2637 阅读 · 1 评论 -
PaddleDetection训练/评估/预测流程
注: 本博客参考https://github.com/PaddlePaddle,仅为学习交流使用,如有侵权,请联系删除!文章目录入门使用训练/评估/预测可选参数列表使用示例模型训练混合精度训练模型评估模型预测入门使用关于配置运行环境,请参考安装指南训练/评估/预测PaddleDetection提供了训练/评估/预测,支持通过不同可选参数实现特定功能# 设置PYTHONPATH路径export PYTHONPATH=$PYTHONPATH:.# GPU训练 支持单卡,多卡训练,通过CUDA_V原创 2020-07-13 14:38:22 · 7297 阅读 · 0 评论 -
PaddleDetection如何训练自定义数据集
注: 本博客参考https://github.com/PaddlePaddle,仅为学习交流使用,如有侵权,请联系删除!目录1.数据准备将数据集转换为COCO格式将数据集转换为VOC格式添加新数据源2.选择模型3.修改参数配置4.开始训练与部署附:一个自定义数据集demo1.准备数据如果数据符合COCO或VOC数据集格式,可以直接进入2.选择模型,否则需要将数据集转换至COCO格式或VOC格式。方式一:将数据集转换为COCO格式在./tools/中提供了x2coco.py原创 2020-07-13 14:11:12 · 7755 阅读 · 1 评论 -
PaddlePaddle模型资源之二:各领域的开发套件
文章目录1. PaddleSeg用于解决图像分割的问题2. PaddleSeg是开发套件,不仅是模型库2.1 PaddleSeg模块化设计2.2 PaddleSeg对图像分割任务的端到端支持能力2.2.1 丰富的数据增强能力2.2.2 工业级模型部署能力3. PaddleSeg实战3.1 准备环境3.2 下载训练数据集3.3 下载预训练模型3.4 模型训练3.4.1 配置文件3.4.2 其它命令行参数3.5(可选)训练过程可视化3.6 模型评估4. 相关参考链接如果说PaddleHub提供的是AI任务快速原创 2020-07-11 12:42:31 · 1797 阅读 · 1 评论 -
PaddlePaddle模型资源之一:预训练模型应用工具 PaddleHub
文章目录1. 预训练模型的应用背景1.1 多任务学习与迁移学习1.2 自监督学习2. 快速使用PaddleHub2.1 通过Python代码调用方式 使用PaddleHub2.1.1 CV任务原图展示人像扣图人体部位分割人脸检测关键点检测2.1.2 NLP 任务2.2 通过命令行调用方式 使用PaddleHub3. PaddleHub提供的预训练模型4. 使用自己的数据Fine-tune PaddleHub预训练模型4.1 安装PaddleHub4.2 数据准备4.3 模型准备4.4 训练准备4.5 组建F原创 2020-07-11 12:40:14 · 6070 阅读 · 1 评论 -
基于PaddleX的YOLOv3林业病虫害检测
文章目录YOLOv3简介1. 安装PaddleX2. 准备昆虫目标检测数据集3. 模型训练3.1 配置GPU3.2 定义图像处理流程transforms3.3 定义数据集Dataset3.4 模型开始训练4.模型预测PaddleX简介:PaddleX是飞桨全流程开发工具,集飞桨核心框架、模型库、工具及组件等深度学习开发所需全部能力于一身,打通深度学习开发全流程,并提供简明易懂的Python API,方便用户根据实际生产需求进行直接调用或二次开发,为开发者提供飞桨全流程开发的最佳实践。目前,该工具代码已开源原创 2020-07-10 19:34:40 · 2231 阅读 · 2 评论 -
第七部分PaddleX预测部署-paddlex.deploy
使用Paddle Inference进行高性能的Python预测部署。更多关于Paddle Inference信息请参考Paddle Inference文档Predictor类paddlex.deploy.Predictor(model_dir, use_gpu=False, gpu_id=0, use_mkl=False, use_trt=False, use_glog=False, memory_optimize=True)参数model_dir: 训练过程中保存的模型路径, 注意需要使原创 2020-07-10 15:31:51 · 1921 阅读 · 0 评论 -
第六部分PaddleX可视化-visualize
文章目录1. 目标检测/实例分割预测结果可视化参数使用示例2. 目标检测/实例分割准确率-召回率可视化参数使用示例3. 语义分割预测结果可视化参数使用示例4. 模型裁剪比例可视化分析参数使用示例5. LIME可解释性结果可视化参数使用示例6. NormLIME可解释性结果可视化参数使用示例PaddleX提供了一系列模型预测和结果分析的可视化函数。1. 目标检测/实例分割预测结果可视化paddlex.det.visualize(image, result, threshold=0.5, save_dir原创 2020-07-10 15:24:34 · 2940 阅读 · 0 评论 -
第五部分PaddleX模型加载-load_model
文章目录函数接口参数返回值示例PaddleX提供了统一的模型加载接口,支持加载PaddleX保存的模型,并在验证集上进行评估或对测试图片进行预测函数接口paddlex.load_model(model_dir)参数model_dir: 训练过程中保存的模型路径返回值paddlex.cv.models, 模型类。示例点击下载PaddleX在小度熊分拣数据上训练的MaskRCNN模型点击下载小度熊分拣数据集import paddlex as pdxmodel_dir原创 2020-07-10 14:56:17 · 2947 阅读 · 0 评论 -
第四部分PaddleX模型压缩-slim
1. 计算参数敏感度paddlex.slim.cal_params_sensitivities(model, save_file, eval_dataset, batch_size=8)计算模型中可裁剪参数在验证集上的敏感度,并将敏感度信息保存至文件save_file获取模型中可裁剪卷积Kernel的名称。计算每个可裁剪卷积Kernel不同裁剪率下的敏感度。 【注意】卷积的敏感度是指在不同裁剪率下评估数据集预测精度的损失,通过得到的敏感度,可以决定最终模型需要裁剪的参数列表和各裁剪参数对应的裁剪原创 2020-07-10 14:52:37 · 839 阅读 · 0 评论 -
第三部分PaddleX模型集_3.4 语义分割
文章目录1. DeepLabv3p类1.1 train 训练接口1.2 evaluate 评估接口1.3 predict 预测接口2. UNet类2.1 train 训练接口2.2 evaluate 评估接口2.3 predict 预测接口3. HRNet类3.1 train 训练接口3.2 evaluate 评估接口3.3 predict 预测接口1. DeepLabv3p类paddlex.seg.DeepLabv3p(num_classes=2, backbone='MobileNetV2_x1.0原创 2020-07-10 14:38:23 · 1025 阅读 · 0 评论 -
第三部分PaddleX模型集_3.3 实例分割
文章目录MaskRCNN类train 训练接口evaluate 评估接口predict 预测接口MaskRCNN类paddlex.det.MaskRCNN(num_classes=81, backbone='ResNet50', with_fpn=True, aspect_ratios=[0.5, 1.0, 2.0], anchor_sizes=[32, 64, 128, 256, 512])构建MaskRCNN检测器。注意在MaskRCNN中,num_classes需要设置为类别数+背景类,如目标原创 2020-07-10 14:26:01 · 1281 阅读 · 0 评论 -
第三部分PaddleX模型集_3.2 目标检测
文章目录1. YOLOv3类1.1 train 训练接口1.2 evaluate 评估接口1.3 predict 预测接口2. FasterRCNN类2.1 train 训练接口2.2 evaluate 评估接口2.3 predict 预测接口1. YOLOv3类paddlex.det.YOLOv3(num_classes=80, backbone='MobileNetV1', anchors=None, anchor_masks=None, ignore_threshold=0.7, nms_scor原创 2020-07-10 14:19:21 · 1669 阅读 · 0 评论 -
基于PaddlePaddle的YOLOv3林业病虫害检测
文章目录1. 目标检测发展历程2. 目标检测基础概念2.1 边界框(bounding box)2.2 锚框(Anchor box)2.3 交并比3. 林业病虫害数据集和数据预处理方法介绍3.1 读取AI识虫数据集标注信息3.2 数据读取和预处理3.2.1 数据读取3.2.2 数据预处理3.2.2.1 随机改变亮暗、对比度和颜色等3.2.2.2 随机填充3.2.2.3 随机裁剪3.2.2.4 随机缩放3.2.2.5 随机翻转3.2.2.6 随机打乱真实框排列顺序3.2.2.7 图像增广方法3.2.3 批量数原创 2020-07-09 21:20:55 · 4379 阅读 · 8 评论 -
ImageNet 中的Top-1与Top-5
一些神经网络中会提到ImageNet Top-5 或者Top-1,这是一种图片检测准确率的标准,介绍这个之前,先介绍一下ImageNet。【ImageNet】ImageNet项目是一个用于物体对象识别检索大型视觉数据库。截止2016年,ImageNet 已经对超过一千万个图像进行手动注释,标记图像的类别;在至少一百万张图像中还提供了边界框。自2010年以来,ImageNet 举办一年一度的软件竞赛,叫做(ImageNet Large Scale Visual Recognition Challenge原创 2020-07-08 17:01:33 · 1588 阅读 · 1 评论 -
第三部分PaddleX模型集_3.1 图像分类
文章目录ResNet50类train 训练接口evaluate 评估接口predict 预测接口其它分类器类ResNet18ResNet34ResNet50ResNet50_vdResNet50_vd_ssldResNet101ResNet101_vdResNet101_vd_ssldDarkNet53MobileNetV1MobileNetV2MobileNetV3_smallMobileNetV3_small_ssldMobileNetV3_largeMobileNetV3_large_ssldXcep原创 2020-07-08 16:45:14 · 1508 阅读 · 0 评论 -
PaddleX_模型集-models
PaddleX目前支持 四种视觉任务解决方案 ,包括图像分类、目标检测、实例分割和语义分割。对于每种视觉任务,PaddleX又提供了1种或多种模型,用户可根据需求及应用场景选取。图像分类ResNet50类其它分类器类目标检测YOLOv3类FasterRCNN类实例分割MaskRCNN类语义分割DeepLabv3p类UNet类HRNet类...原创 2020-07-08 16:44:07 · 964 阅读 · 0 评论 -
第二部分PaddleX数据集_2.4 数据集转换
文章目录labelme2voc其它数据集转换easydata2imageneteasydata2voceasydata2cocoeasydata2seglabelme2cocolabelme2segjingling2seglabelme2vocpdx.tools.labelme2voc(image_dir, json_dir, dataset_save_dir)将LabelMe标注的数据集转换为VOC数据集。参数image_dir (str): 图像文件存放的路径。json_dir (str)原创 2020-07-08 16:05:30 · 925 阅读 · 0 评论 -
第二部分PaddleX数据集_2.3 语义分割数据集
文章目录SegDataset类EasyDataSeg类SegDataset类paddlex.datasets.SegDataset(data_dir, file_list, label_list, transforms=None, num_workers='auto', buffer_size=100, parallel_method='thread', shuffle=False)读取语义分割任务数据集,并对样本进行相应的处理。语义分割任务数据集格式的介绍可查看文档:数据集格式说明示例:代码文件原创 2020-07-08 16:02:09 · 931 阅读 · 0 评论 -
第二部分PaddleX数据集_2.2 检测和实例分割数据集
文章目录VOCDetection类CocoDetection类EasyDataDet类VOCDetection类paddlex.datasets.VOCDetection(data_dir, file_list, label_list, transforms=None, num_workers=‘auto’, buffer_size=100, parallel_method='thread', shuffle=False)仅用于目标检测。读取PascalVOC格式的检测数据集,并对样本进行相应的处理原创 2020-07-08 15:59:06 · 1267 阅读 · 0 评论 -
第二部分PaddleX数据集_2.1 图像分类数据集
文章目录ImageNet类EasyDataCls类ImageNet类paddlex.datasets.ImageNet(data_dir, file_list, label_list, transforms=None, num_workers=‘auto’, buffer_size=100, parallel_method='thread', shuffle=False)读取ImageNet格式的分类数据集,并对样本进行相应的处理。ImageNet数据集格式的介绍可查看文档:数据集格式说明示例:代原创 2020-07-08 15:53:30 · 888 阅读 · 0 评论 -
PaddleX_数据集-datasets
PaddleX目前支持主流的CV数据集格式和 EasyData 数据标注平台的标注数据格式,此外PaddleX也提升了数据格式转换工具API,支持包括LabelMe,精灵标注助手和EasyData平台数据格式的转换,可以参考PaddleX的tools API文档。下表为各数据集格式与相应任务的对应关系,数据集格式图像分类目标检测实例分割语义分割ImageNet√VOCDetection√CocoDetection√√SegDataset原创 2020-07-08 15:47:45 · 1466 阅读 · 0 评论 -
第一部分PaddleX数据处理_1.4 数据增强与imgaug支持
文章目录PaddleX内置增强操作imgaug增强库的支持数据增强操作可用于在模型训练时,增加训练样本的多样性,从而提升模型的泛化能力。PaddleX内置增强操作PaddleX对于图像分类、目标检测、实例分割和语义分割内置了部分常见的数据增强操作,如下表所示,任务类型增强方法图像分类RandomCrop、RandomHorizontalFlip、RandomVerticalFlip、 RandomRotate、 RandomDistort目标检测、实例分割RandomH原创 2020-07-08 15:28:26 · 967 阅读 · 0 评论 -
第一部分PaddleX数据处理_1.3 语义分割-seg.transforms
文章目录0. Compose类参数1. RandomHorizontalFlip类 随机水平翻转参数2. RandomVerticalFlip类 随机垂直翻转参数3. Resize类 调整图像大小参数4. ResizeByLong类参数5. ResizeRangeScaling类参数6. ResizeStepScaling类参数7. Normalize类 对图像进行标准化参数8. Padding类参数9. RandomPaddingCrop类 随机裁剪参数10. RandomBlur类参数11.原创 2020-07-08 15:03:55 · 1956 阅读 · 0 评论 -
第一部分PaddleX数据处理_1.2 检测和实例分割-det.transforms
文章目录0. Compose类参数1. ResizeByShort类 根据图像的短边调整图像大小参数2. Padding类 填充0参数3. Resize类 调整图像大小参数4. RandomHorizontalFlip类 随机水平翻转参数5. Normalize类 对图像进行标准化参数6. RandomDistort类 随机像素内容变换参数7. MixupImage类 对图像进行mixup操作参数8. RandomExpand类 随机扩张图像参数9. RandomCrop类 随机裁剪图像参原创 2020-07-08 10:31:39 · 2837 阅读 · 0 评论 -
第一部分PaddleX数据处理_1.1 图像分类-cls.transforms
对图像分类任务的数据进行操作。可以利用Compose类将图像预处理/增强操作进行组合。Compose类paddlex.cls.transforms.Compose(transforms)根据数据预处理/增强算子对输入数据进行操作。 使用示例参数transforms (list): 数据预处理/数据增强列表。1. RandomCrop类 随机裁剪paddlex.cls.transforms.RandomCrop(crop_size=224, lower_scale=0.08, lower原创 2020-07-01 09:00:21 · 2533 阅读 · 0 评论 -
PaddleX_数据处理-transforms
transforms为PaddleX的模型训练提供了数据的预处理和数据增强接口。图像分类-cls.transforms检测和实例分割-det.transforms语义分割-seg.transforms数据增强与imgaug支持原创 2020-07-08 16:13:02 · 1855 阅读 · 0 评论 -
PaddleX_2.数据集转换
当前PaddleX GUI支持 ImageNet格式的图像分类数据集 、VOC格式的目标检测数据集、COCO格式的实例分割数据集、Seg格式的语义分割的数据集,当使用LabelMe、EasyData、标注精灵这3个工具标注数据时,PaddleX提供了相应接口可将数据转换成与PaddleX GUI想适配的数据集,使用方式如下所示:import paddlex as pdx# 该接口实现LabelMe数据集到VOC数据集的转换。# image_dir为图像文件存放的路径。# json_dir为与每张图原创 2020-06-30 18:30:22 · 1164 阅读 · 0 评论 -
PaddleX_1.数据集格式说明
1. 图像分类ImageNet图像分类ImageNet数据集包含对应多个标签的图像文件夹、标签文件及图像列表文件。 参考数据文件结构如下:./dataset/ # 数据集根目录|--labelA # 标签为labelA的图像目录| |--a1.jpg| |--...| └--...||--...||--labelZ # 标签为labelZ的图像目录| |--z1.jpg| |--...| └--...||--train_list.txt # 训练文件列表文件原创 2020-06-30 17:03:03 · 2062 阅读 · 0 评论 -
PaddleX视觉方案介绍
PaddleX目前提供了4种视觉任务解决方案,分别为图像分类、目标检测、实例分割和语义分割。用户可以根据自己的任务类型按需选取。图像分类图像分类任务指的是输入一张图片,模型预测图片的类别,如识别为风景、动物、车等。对于图像分类任务,针对不同的应用场景,PaddleX提供了百度改进的模型,见下表所示模型模型大小GPU预测速度CPU预测速度ARM芯片预测速度准确率备注MobileNetV3_small_ssld12M---71.3%适用于移动端场景Mob原创 2020-06-30 19:06:24 · 2876 阅读 · 0 评论 -
PaddleX快速安装
以下安装过程默认用户已安装好paddlepaddle-gpu或paddlepaddle(版本大于或等于1.7.1),paddlepaddle安装方式参照飞桨官网推荐使用Anaconda Python环境,Anaconda下安装PaddleX参考文档Anaconda安装使用pip安装注意其中pycocotools在Windows安装较为特殊,可参考下面的Windows安装命令pip install paddlex -i https://mirror.baidu.com/pypi/simpleGit原创 2020-06-30 19:20:25 · 7572 阅读 · 1 评论 -
基于Paddlepaddle框架的精通深度学习的高级内容
为什么要精通深度学习的高级内容在前面章节中,我们首先学习了神经网络模型的基本知识和使用飞桨编写深度学习模型的方法,再学习了计算机视觉、自然语言处理和推荐系统的模型实现方法。至此,读者完全可胜任各个领域的建模任务。但在人工智能的战场上取得胜利并不容易,我们还将面临如下挑战:需要针对业务场景提出建模方案;探索众多的复杂模型哪个更加有效;探索将模型部署到各种类型的硬件上。如果大家仅仅掌握基础的模型编写能力,就像一个不带武器上阵的士兵,战斗力十分有限,难以应对复杂多变的战场环境。在本章高级内原创 2020-06-26 20:51:59 · 789 阅读 · 0 评论 -
PaddlePaddle新版本Fluid的使用
文章目录前言定义神经网络定义batch平均错误定义测试程序定义优化方法定义调试器获取数据开始训练和测试保存模型预测模型获取预测结果前言PaddlePaddle的Fluid是0.11.0提出的,Fluid是设计用来让用户像Pytorch和Tensorflow Eager Execution一样执行程序。在这些系统中,不再有模型这个概念,应用也不再包含一个用于描述Operator图或者一系列层的符号描述,而是像通用程序那样描述训练或者预测的过程。而Fluid与PyTorch或Eager Execution的转载 2020-06-09 19:00:25 · 7358 阅读 · 0 评论