深度学习
东哥爱编程
人工智能算法,Ai图像算法。
欢迎合作,私信。
展开
-
分割分类数据集
【代码】分割分类数据集。原创 2023-07-14 16:09:59 · 112 阅读 · 0 评论 -
txt 转换为json
将 0 110 200 沉头 这种格式的数据转成json。原创 2023-07-14 16:05:08 · 2100 阅读 · 0 评论 -
python 实现感知机
【代码】python 实现感知机。原创 2023-04-19 16:49:10 · 273 阅读 · 0 评论 -
损失函数的盘点与总结
是l2 和l1 的结合体, 在梯度较小时,采用l2 较为平滑的方式, 较大时采用稳定的梯度下降。容易受到离群点,脏数据的影响,一开始梯度太大,容易出现训练不稳定, 梯度爆炸。这样会有一个问题就是 为0 的时候不可导,另外当梯度很小时,很难收敛到极小值。所以, l2 中, 预测和真实值的差值越大, 损失越大。,忽略求和及系数,则有L1(x)=x^2,其导数为。差值越大, 导数越大,反之, 容易收敛到极小值。前期收敛快,梯度不变,不容易收脏数据的影响,令 x = fx - y。原创 2023-04-18 09:09:55 · 73 阅读 · 0 评论 -
C++线程池的实现
【代码】C++线程池的实现。原创 2023-04-08 15:31:52 · 367 阅读 · 0 评论 -
关于onnx 转ncnn 的问题
这可能是由于ncnn会把一个5维张量捏成4维(假设batch=1),但是YOLO5Face的坐标反算逻辑基本上是在5维上做slice,所以导致了NCNN在转换这段反算逻辑时出现了slice错误。由于后续的处理都是基于5维的张量,所以,坐标反算那段逻辑也要注释掉,直接返回这个修改后的4维张量,把坐标反算这部分放在C++里面实现。为了顺利export出ONNX文件,还需要对应地修改export.py,因为现在输出是一个list了,里面有3个维度不一样的张量,而原来是被torch.cat在一起,只有一个张量。原创 2023-04-07 14:33:42 · 875 阅读 · 0 评论 -
关于 ubuntu ncnn 环境的安装, protobuf、pnnx
这里需要修改 编译路径,找到LibTorch 的make路径,相当于是软链接路径文件。另外新建一个变量文件Python3Config.cmake.in。这个可以参考修改,原因是有的层实现不兼容。同时需要一个python 的软链接路径。直接去pytorch 下c++ 源码。找个地方新建python3 文件夹。然后执行 cmake .接下来根据这个官方来就行。如果成功会生成两个文件。直接下载运行就可以了。原创 2023-04-04 18:04:38 · 1107 阅读 · 0 评论 -
记录下关于pytorch meshgrid 与stack,在yolov5 中的作用
在yolov5中需要取到特征图网格中的坐标,再加上相对0~1的偏移量,需要用到坐标值的计算。因为yolov5中偏移不需要计算最后一个边界点,所以少了一个维度(自行根据需要调整维度)刚好得到4列5行的坐标值,维度为2(y,x), 矩阵乘法。刚好对应图中的坐标, x 为5个坐标, y为4个坐标,取d[3][1] 第一个维度是y坐标的,第二个是x。我们取xv的第二行,第2列, 为2。yv的第1行,第2列, 为1。比如要计算(1,3)的偏移量。比如要取(2, 1)的坐标。所以坐标为(2, 1)原创 2023-03-28 11:51:12 · 272 阅读 · 0 评论 -
yolov5 车牌检测相关资料
https://arxiv.org/pdf/2105.12931.pdfhttps://github.com/deepcam-cn/yolov5-facehttps://github.com/we0091234/Chinese_license_plate_detection_recognition原创 2023-03-15 15:56:21 · 162 阅读 · 0 评论 -
训练yolo 数据转换代码
【代码】训练yolo 数据转换代码。原创 2023-03-13 16:29:01 · 116 阅读 · 0 评论 -
Ubuntu常用配置
ubuntu 的国内源配置原创 2023-03-06 14:40:14 · 70 阅读 · 0 评论 -
利用opencv 做一个疲劳检测系统(2)
最近发现视力下降严重, 可能跟我的过度用眼有关,于是想着能不能做一个检测用眼疲劳的,灵感来自特斯拉的疲劳检测系统。效果如下:疲劳检测算法讲解:利用dlib 人脸检测算法来捕获人脸的关键点数(68个关键点)参考文章:https://blog.csdn.net/monk96/article/details/127751414?spm=1001.2014.3001.5502获取眼睛和嘴巴的点位置眼睛疲劳计算公式利用欧拉距离计算dist = (||P2 - P6|| + ||P3 - P5||)/原创 2022-11-09 18:23:12 · 6272 阅读 · 8 评论 -
C++之快排
【代码】C++之快排。原创 2022-08-29 16:04:32 · 552 阅读 · 0 评论 -
C++的指针
指针原创 2022-08-29 10:24:59 · 283 阅读 · 0 评论 -
图像分割常用算法总结
常用的图像边缘检测算子有:Laplace算子、Sobel算子、Canny算子等。灰度值 的不同大小选择进行分割, 关键在于如何选择阈值的大小。可选择对比周围几个点,四个点,横轴,纵轴,对角线 SAD。OSTU : 计算简单快速,不受图像亮度和对比度的影响。计算各个通道之间的距离, 大于阈值则视为同一个区域,常用算法: OSTU、最大熵法、自适应(局部阈值)优点: 计算简单,可以快速分割具有相同特征的区域。缺点: 对噪声敏感,容易出现空洞。...原创 2022-08-26 17:32:08 · 3132 阅读 · 0 评论 -
RCNN 和Faster RCNN 原理
每个框进行两种处理,前景和背景 2k个数。映射到原始特征图上,每个像素映射9个框。四个坐标处理, 4k个数。原创 2022-08-22 18:25:21 · 348 阅读 · 0 评论 -
记录Yolov5的使用(1)
下载Yolov5预训练模型既已经训练好的权重参数数据,可以直接使用,就不要在本机再做Traninig了。学了半天的神经网络,深度学习,cnn,rnn,opencv一头雾水,总得拿点东西来应用下。-就会弹出摄像头页面,识别到的物体会用不同颜色的方框进行标识,同时上面会显示名称和概率(置信度)如果通过摄像头检测出识别的物体会打印出来比如下面的person,cellphone等。了解到有一个目标检测算法还是挺有趣的——Yolov5。下面章节开始训练自己的数据和模型调优、源码分析等。...原创 2022-07-15 15:17:07 · 766 阅读 · 0 评论 -
tensorflow 学习之TFRecords(七)
通常我们做训练时都是通过读取文件的形式进行分批读取,对于大量的数据读取比较消耗内存。原创 2022-07-14 19:15:26 · 151 阅读 · 0 评论 -
神经网络loss与acc 绘图 方法plot
plot原创 2022-07-14 13:56:16 · 1096 阅读 · 0 评论 -
深度学习之利用训练好的模型进行学习, 迁移学习(六)
深度学习的迁移学习和回调原创 2022-07-14 09:16:28 · 770 阅读 · 0 评论 -
深度学习的卷积残差网络(五)
卷积中,通常网络的深度越深越好,但训练过程中有的卷积层可能训练效果不好,会产生负面的影响,所以引入残差网络,resnet原理原创 2022-07-13 20:14:01 · 491 阅读 · 0 评论 -
卷积神经网络的padding(四)
卷积的边界填充原创 2022-07-13 19:35:09 · 274 阅读 · 0 评论 -
tensorflow模型的保存(三)
模型的保存原创 2022-07-13 17:35:49 · 797 阅读 · 0 评论 -
tensorflow 使用 深度学习(二)
参考官网api原创 2022-07-13 16:31:25 · 173 阅读 · 0 评论 -
深度学习神经网络的正向传播(一)
先计算得分,再进行放大差异,最后进行归一化处理原创 2022-07-13 11:48:25 · 205 阅读 · 0 评论 -
基于CNN 对车牌数字进行识别,(二)
数据集下载进行训练查看模型的准确度可以看到, 训练的效果在不断增强,不过准确率不是很好,还有过拟合的风险,后面优化下。增加了一下训练次数, 可以看到效果增强了点,运用PIL的Image注意: 因为我们训练时输入的是灰度图像,没有三通道的,所以之前的图片需要特殊处理成灰度图在进行输入可以看到,这里输出了,one-hot的编码数组,接下来只需要取最大值就可以了‘闽’这里直接返回预测的字符接下来我将用模板匹配的方式进行效果预测,看看会不会有更好的结果.........原创 2022-07-09 15:49:15 · 2277 阅读 · 2 评论 -
记录下如何用RNN 的LSTM 来生成评语吧,python应用
自动生成评语原创 2022-07-01 15:36:41 · 246 阅读 · 0 评论 -
讲讲关于Precision 与 Recall 的概念
公式为:p = TP/(TP + FP)解释为: 正确的正例/ 正确的正例 + 错误的正例看如下例子:其中: TP(true positive) = 20FP (False positive)= 30 理解为错误的划分为正确的例子的数量,30个男生所以p = 2/5公式为:p = TP/(TP + FN)FN : false nagitive 即错误判断为负样本了,也就是0 个,没有把女生判断为男生。TN: true nagitive 正确的判断为负样本的, 也就是剩下的50个男生, 也就是原创 2022-06-26 17:38:02 · 582 阅读 · 0 评论 -
利用opencv + moviepy制作批量剪辑脚本
完整代码如下:工程目录如下:原创 2022-06-24 13:48:15 · 839 阅读 · 0 评论 -
谈谈 keras 的损失函数
可以看看书本作者的阐述原文意思为:看你输出的是什么格式的one-hot 的话用categorical_crossentropy数字编码的话用sparse_categorical_cossentropy一个用于多分类,一个用于二分类原创 2022-06-23 10:14:26 · 345 阅读 · 0 评论 -
softmax的理解
#softmax一般用于输出层,其原理和结构可以分成两个, soft max, 如图所示:来看另一个常用的激活函数sigmoid一般: softmax 和 categorical_crossentropysigmoid 和 binary_crossentropy原创 2022-06-23 09:57:00 · 120 阅读 · 0 评论