人工智能
文章平均质量分 80
kuokay
这个作者很懒,什么都没留下…
展开
-
Minigpt4实战搭建
Minigpt4虽然放出了网页版但是使用后发现网页体验的话,由于并发量比较大,很容易突然卡顿的现象,所以下面我主要讲解一下如何进行本地部署。之前文章已经介绍过Minigpt4了这里就不重复赘述了,不了解的可以去看看由于经费有限我这里使用的是7B模型,按照文档中所说,7B模型大概需要12G左右,而13B需要24G。原创 2023-06-01 20:34:29 · 1109 阅读 · 0 评论 -
YOLOv5网络结构,训练策略详解
前面已经讲过了Yolov5模型目标检测和分类模型训练流程,这一篇讲解一下yolov5模型结构,数据增强,以及训练策略。原创 2023-03-22 20:46:10 · 9440 阅读 · 1 评论 -
Yolov5 (v6.2) 使用自己的数据训练分类模型 基于ONNX TensorRT转换
YOLOv5官方发布了v6.2版本,v6.2版本支持分类模型训练、验证、预测和导出;v6.2版本的推出使得训练分类器模型变得超级简单!v6.2版本项目结构并无太大改变,主要是增加了classify文件夹以及predict.py train.py val.py 这三个文件;那么这三个文件也分别对应着分类模型的推理、训练和验证。原创 2023-03-16 20:58:15 · 3080 阅读 · 3 评论 -
yolov5模型训练流程
YOLOv5(You Only Look Once)是由 UitralyticsLLC公司发布的一种单阶段目标检测算法,YOLOv5 相比YOLOv4 而言,在检测平均精度降低不多的基础上,具有均值权重文件更小,训练时间和推理速度更短的特点。YOLOv5 的网络结构分为输入端、BackboneNeck、Head 四个部分。输入端主要包括 Mosaic 数据增强、图片尺寸处理以及自适应锚框计算三部分。Mosaic数据增强将四张图片进行组合,达到丰富图片背景的效果;原创 2023-03-12 00:05:05 · 12997 阅读 · 5 评论 -
Python 人脸识别系统
简介人脸识别不同于人脸检测。在人脸检测中,我们只检测了人脸的位置,在人脸识别任务中,我们识别了人的身份。本文重点介绍使用库 face_recognition 实现人脸识别,该库基于深度学习技术,并承诺使用单个训练图像的准确率超过 96%。识别系统用例寻找失踪者识别社交媒体上的帐户识别汽车中的驾驶员考勤系统了解人脸识别的工作原理我们将人的照片和他们的名字传递给模型。该模型拍摄每张照片,将它们转换为某种数字编码,并将它们存储在一个列表中,并将所有标签(人名)存储在另一个列表中。在预原创 2022-05-31 22:10:10 · 34034 阅读 · 19 评论 -
自动驾驶——Carla 模拟器简介
CARLA基本介绍CARLA是一个开源的自动驾驶模拟器。它是从头开始构建的,用作模块化和灵活的API,以解决自动驾驶问题中涉及的一系列任务。 CARLA的主要目标之一是帮助自动驾驶研发民主化,它是一种易于用户使用和定制的工具。为此,模拟器必须满足一般驾驶问题(例如学习驾驶策略,训练感知算法等)内不同用例的要求。 CARLA基于Unreal Engine来运行模拟,并使用OpenDRIVE标准(今天为1.4)定义道路和城市环境。通过使用Python和C ++处理的API授予对模拟的控制权,该API随项目的.原创 2022-04-27 17:40:22 · 5266 阅读 · 0 评论 -
Pytorch入门,简介,开发环境搭建及pytorch-gpu源码编译
简介目前的深度学习框架很多,如Tensorflow、Pytorch、Keras、FastAI、CNTK等等,这些框架各有优缺点,尤其是Tensorflow和Pytorch,使用都非常广泛,那么应该如何进行选择呢?这应该是每一位即将开始学习深度学习的童鞋比较困惑的问题。下面先看看github上各种框架的一个使用统计选择pytorch的几大理由动态计算图用法跟python更接近,比tensorflow更容易上手有助于理解深度学习的核心pytorch需要定义网络层、参数更新等步骤,可以帮助我们原创 2022-04-26 19:26:25 · 3321 阅读 · 0 评论 -
在ubuntu18.04上体验百度Apollo6.0自动驾驶
前言Apollo 是优秀的自动驾驶开发框架,出自百度之手,目前已更新到 6.0 版本,本文旨在详细记录 Apollo 6.0 在 Ubuntu 18.04 中的完整安装及运行过程,并会阐述在虚拟机和物理机中进行安装时的细微区别。前置依赖软件安装一、电脑配置系统:Ubuntu20.04.2 LTS内存:8GCPU:i7-6700@3.4GHz*8GPU:NVIDIA GK208[GeForce GT 730]二、预装软件安装 Ubuntu 18.04安装 NVIDIA 显卡驱动安装原创 2022-04-20 20:15:28 · 3485 阅读 · 0 评论 -
YOLOv5模型环境搭建及使用google colab训练
环境搭建环境ubuntu 18.04 64bitGTX 1070Tianaconda with python 3.8pytorch 1.7.1cuda 10.1yolov5 5.0.9为了方便使用 yolov5目标检测,有网友已经将其做成了库,提交到了官方的索引库 pypi上,这样,我们就可以直接使用 pip进行安装了,其项目地址: https://github.com/fcakyon/yolov5-pip安装首先创建一个干净的 python虚拟环境conda create原创 2022-04-20 17:30:00 · 3822 阅读 · 0 评论 -
激活函数,损失函数,正则化
激活函数简介在深度学习中,输入值和矩阵的运算是线性的,而多个线性函数的组合仍然是线性函数,对于多个隐藏层的神经网络,如果每一层都是线性函数,那么这些层在做的就只是进行线性计算,最终效果和一个隐藏层相当!那这样的模型的表达能力就非常有限 。实际上大多数情况下输入数据和输出数据的关系都是非线性的。所以我们通常会用非线性函数对每一层进行激活,大大增加模型可以表达的内容(模型的表达效率和层数有关)。这时就需要在每一层的后面加上激活函数,为模型提供非线性,使得模型可以表达的形式更多,同时也可以更改模型的输出值,原创 2022-03-27 20:41:08 · 3391 阅读 · 0 评论 -
Word2Vec原理简单解析
前言词的向量化就是将自然语言中的词语映射成是一个实数向量,用于对自然语言建模,比如进行情感分析、语义分析等自然语言处理任务。下面介绍比较主流的两种词语向量化的方式: 第一种即One-Hot编码是一种基于词袋(bag of words)的编码方式。假设词典的长度为 N 即包含 N 个词语,并按照顺序依次排列。One-Hot 编码将词语表示成长度为 N 的向量,每一向量分量代表词典中的一个词语,则 One-Hot 编码的词语向量只有一位分量值为 1。假设词语在词典中的位置为 k,那么该词语基于 One-原创 2022-03-27 13:22:34 · 3994 阅读 · 0 评论 -
Transformer模型简介
简介Transformer 是 Google 团队在 17 年 6 月提出的 NLP 经典之作,由 Ashish Vaswani 等人在 2017 年发表的论文 Attention Is All You Need 中提出。Transformer 在机器翻译任务上的表现超过了 RNN,CNN,只用 encoder-decoder 和 attention 机制就能达到很好的效果,最大的优点是可以高效地并行化。Transformer 整体结构首先介绍 Transformer 的整体结构,下图是 Tra原创 2022-03-27 12:59:33 · 26575 阅读 · 6 评论 -
一文搞懂梯度下降
梯度在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是(∂f/∂x, ∂f/∂y)T,简称grad f(x,y)或者▽f(x,y)。对于在点(x0,y0)的具体梯度向量就是(∂f/∂x0, ∂f/∂y0)T.或者▽f(x0,y0),如果是3个参数的向量梯度,就是(∂f/∂x, ∂f/∂y,∂f/∂z)T,以此类推。那么这个梯度向量求出来有什么意义呢?他的意义从几何意义上讲,就是函数变化增加最快的原创 2022-03-26 19:46:50 · 27737 阅读 · 2 评论 -
一文搞懂CUDA
什么是cuda统一计算设备架构(Compute Unified Device Architecture, CUDA),是由NVIDIA推出的通用并行计算架构。解决的是用更加廉价的设备资源,实现更高效的并行计算。CUDA是NVIDIA公司所开发的GPU编程模型,它提供了GPU编程的简易接口,基于CUDA编程可以构建基于GPU计算的应用程序。CUDA提供了对其它编程语言的支持,如C/C++,Python,Fortran等语言。GPU架构特点首先我们先谈一谈串行计算和并行计算。我们知道,高性能计算的关键利原创 2022-03-25 18:37:37 · 6817 阅读 · 0 评论 -
机器学习---特征工程介绍
为什么需要特征工程(Feature Engineering)机器学习领域的大神Andrew Ng(吴恩达)老师说“Coming up with features is difficult, time-consuming, requires expert knowledge. “Applied machine learning” is basically feature engineering. ”什么是特征工程特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。原创 2022-03-11 14:43:28 · 523 阅读 · 0 评论 -
用图带你了解机器学习
定义机器学习是从数据中自动分析获得模型,并利用模型对未知数据进行预测。我们人从大量的日常经验中归纳规律,当面临新的问题的时候,就可以利用以往总结的规律去分析现实状况,采取最佳策略。从数据(大量的猫和狗的图片)中自动分析获得模型(辨别猫和狗的规律),从而使机器拥有识别猫和狗的能力。数据集构成结构:特征值+目标值对于每一行数据我们可以称之为样本。有些数据集可以没有目标值。特征值:猫/狗的图片;目标值:猫/狗-类别分类问题特征值:房屋的各个属性信息;目标值:房屋价格-原创 2022-03-11 14:43:13 · 1218 阅读 · 0 评论 -
卷积神经网络 – CNN简介
概念人工神经网络(Artificial Neural Networks,ANN)是一种模拟生物神经系统的结构和行为,进行分布式并行信息处理的算法数学模型。ANN通过调整内部神经元与神经元之间的权重关系,从而达到处理信息的目的。而卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,是一种深度学习模型,它由若干卷积层和池化层组成,尤其在图像处理方面CNN的表现十分出色。卷积神经网络与传统多层神经网络对比传统意义上的多层神经网络是只有输入层、隐藏层、输出层原创 2022-03-08 19:27:35 · 5061 阅读 · 2 评论 -
基于树编辑距离的相似度(TEDS)
前言最近由于要对OCR文字识别系统的表格识别部分做指标评测分析。评测方法之前是将ground truth 和recognition result 展平后统计非空单元格之间的两两关系,得到非空单元格的关系矩阵。然后基于这个矩阵去统计Recall,Precision和 F1 score。但是这样的评测方式是有问题的:只检查非空单元格之间的直接关系,而对于由空单元格和非直接关系单元格之间未对齐引起的错误无法检测。另一个问题是无法同时对单元格的内容进行评测经过一番搜索发现了TEDS评价方法TE原创 2022-02-27 21:44:24 · 3918 阅读 · 4 评论 -
最全的机器学习模型训练全流程
简言发现一个很有趣的开源项目,作者用手绘图的方式讲解了机器学习模型构建的全流程,逻辑清晰、生动形象。想给大家分享一下。项目地址:https://github.com/dataprofessor/infographic全文如下:感觉学习数据科学枯燥无味,那如何能让学习数据科学变得有趣而简单呢?带着这个目标,我开始在iPad上涂鸦建立机器学习模型所需的流程。1. 数据集数据集是你构建机器学习模型历程中的起点。简单来说,数据集本质上是一个M×N矩阵,其中M代表列(特征),N代表行(样本)。列可以转载 2022-02-15 14:48:24 · 21031 阅读 · 10 评论 -
Seldon Core简介
前言上图的过程是一个数据科学项目所要经历的典型的过程。从数据采集开始,经历数据分析,数据变形,数据验证,数据拆分,训练,模型创建,模型验证,大规模训练,模型发布,到提供服务,监控和日志。诸多的机器学习工具如Scikt-Learn,Spark, Tensorflow, MXnet, PyTorch提供给数据科学家们不同的选择,同时也给模型的部署带来了不同的挑战。Seldon CoreSeldon Core 目前是机器学习模型部署领域最受欢迎的方案之一,由 Seldon 公司开源和维护。Seldon 公原创 2022-02-09 17:35:24 · 2544 阅读 · 0 评论 -
查看Python 代码的内存和模型显存消耗以及优化
前言Python 的 memory_profiler这个库可以帮助我们了解内存的消耗,Pytorch-Memory-Utils和pynvml这个库可以帮助我们了解显存消耗计算显存和内存参考文档:https://blog.csdn.net/yrwang_xd/article/details/105949077参考文档:https://www.overfit.cn/post/aecb96d60db74f609133181899f172cb参考文档:https://oldpan.me/archives原创 2022-02-09 14:14:18 · 2894 阅读 · 0 评论 -
python opencv 实现 图片文本倾斜校正
代码比较简单就不解释了:# -*- coding: UTF-8 -*- import numpy as npimport cv2 ## 图片旋转def rotate_bound(image, angle): #获取宽高 (h, w) = image.shape[:2] (cX, cY) = (w // 2, h // 2) # 提取旋转矩阵 sin cos M = cv2.getRotationMatrix2D((cX, cY), -angle,原创 2022-01-12 10:01:44 · 1074 阅读 · 0 评论 -
OCR识别流程详解
概括传统的OCR基于图像处理(二值化、连通域分析、投影分析等)和统计机器学习(Adaboost、SVM),过去20年间在印刷体和扫描文档上取得了不错的效果。传统的印刷体OCR解决方案整体流程如图。从输入图像到给出识别结果经历了图像预处理、文字行提取和文字行识别三个阶段。图像预处理二值化:由于彩色图像所含信息量过于巨大,在对图像中印刷体字符进行识别处理前,需要对图像进行二值化处理,使图像只包含黑色的前景信息和白色的背景信息,提升识别处理的效率和精确度。图像降噪:由于待识别图像的品质受限于输原创 2021-12-24 14:14:51 · 15262 阅读 · 2 评论 -
使用Opencv python从Image中裁剪多边形
需求给定标准框,把这张图上所有的标注框的小图切出来,标注框不一定是矩形,有多边形。步骤使用多边形点查找区域使用多边形点创建遮罩做遮罩修剪如果需要,添加白色背景代码import osimport cv2import jsonimport numpy as npimg = cv2.imread("xx.png")j = 0# 读取文件中的标准框,若无文件可省略此步骤,指定标注框with open("xx.json", 'r', encoding='原创 2021-12-14 14:31:11 · 5095 阅读 · 4 评论