
深度学习
文章平均质量分 69
你好,明天,,
你好,明天。一个今天胜过两个明天。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python代码实现kNN手写数字识别——MNIST数据集
kNN算法诞生于1967年,因其简单高效,被沿用至今。K近邻(k-NearestNeighbor)分类算法是机器学习分类技术中最简单的方法之一。K近邻形象地讲,就是将样本用周围邻居替代的分类过程。K近邻分类是一种非常直观的机器学习模型,根据距离和k值可以判别出某个样本属于哪个类别,而且算法本身很好理解。该模型中没有参数训练过程,也就是说,在此之前我们并没有训练分析数据,而只是单纯地依据训练数据中测试样本的分类进行判断。可以说,K近邻是一种非常简单的非参数模型。但是,正是由于kNN的这个特点,使得每次执行原创 2021-06-07 16:37:35 · 809 阅读 · 0 评论 -
CNN算法实现手写数字识别(MNIST数据集)
基本过程如下图所示:可能会看不懂的地方附有注释说明,代码:import tensorflow.compat.v1 as tftf.disable_v2_behavior()from tensorflow.examples.tutorials.mnist import input_data # download and extract the data set automatically# 初始化参数def weight_variable(shape): initial =原创 2021-05-29 11:22:34 · 2803 阅读 · 3 评论 -
卷积神经网络(CNN)图像识别知识总结
最近研究了一些卷积神经网络方面的知识,研究了CNN算法实现图像识别,做一些总结。图像识别技术是人工智能的一个重要领域,它是对图像中的对象进行识别,以识别各种不同模式的目标和对象的技术。近几年,图像识别有了进一步发展,并应用到许多场景中。而且随着智能化的发展,越来越多的人意识到,利用计算机高速的计算能力来解决生活中一些高难度和高风险的问题,能够节约人力资源,提高执行效率,图像识别是智能化的表现之一,主要包括图像信息处理和数据信息的提取等内容,此外,图像数据处理还能够根据图像的特点对其进行判断匹配,让用户原创 2021-05-27 11:47:20 · 5051 阅读 · 1 评论 -
CNN全连接层怎么转化成一维向量?
在卷积神经网络的最后,往往会出现一两层全连接层,全连接一般会把卷积输出的二维特征图转化成一维的一个向量,这是怎么来的呢?目的何在呢?原创 2021-05-29 10:15:05 · 5887 阅读 · 6 评论 -
使用Anaconda3安装tensorflow教程一步到位
安装tensorflow花费了不少的时间,各种问题层出不穷,需要足够的耐心。我的是python3.6,要选对Anaconda的版本才能匹配安装,python3.6可以安装Anaconda3-4.4.0,64位。可以在清华源镜像找到合适版本安装Anaconda,这里附链接:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/对于python3.6可以安装tensorflow1.9.0版本,当然,在anaconda虚拟环境中创建环境,在图形界面原创 2021-04-21 11:59:37 · 1629 阅读 · 1 评论 -
Python代码实现CNN手写数字识别——MNIST数据集
import tensorflow.compat.v1 as tftf.disable_v2_behavior()from tensorflow.examples.tutorials.mnist import input_data # 下载数据集# 初始化参数def weight_variable(shape): initial = tf.truncated_normal(shape, stddev=0.1) # shape是必选项,输出张量维度,stddev=0.1用于设置正.原创 2021-06-06 11:32:44 · 3348 阅读 · 1 评论 -
抽取VOC数据集中的部分类别数据
【代码】抽取VOC数据集中的部分类别数据。原创 2023-04-16 11:33:34 · 360 阅读 · 0 评论 -
cv2(OpenCV)下载安装
最好下载对应python版本的,通过pip命令安装可能会出现版本过高或者过低的问题,导致import cv2没问题,但是内部函数无法调用。上述对应python版本是3.7~3.11。原创 2023-04-13 16:31:43 · 10609 阅读 · 0 评论 -
pytorch模型权重与模型微调
随着深度学习的发展,在大模型的训练上都是在一些较大数据集上进行训练的,比如Imagenet-1k,Imagenet-11k,甚至是ImageNet-21k等。但我们在实际应用中,我们的数据集可能比较小,只有几千张照片,这时从头训练具有几千万参数的大型神经网络是不现实的,。因为试用于ImageNet数据集的复杂模型,在一些小的数据集上可能会过拟合,同时因为数据量有限,最终训练得到的模型的精度也可能达不到实用要求。转载 2023-04-06 17:02:30 · 1264 阅读 · 0 评论 -
matplotlib保存图像到本地plt.savefig(‘result.jpg‘)
matplotlib保存图像到本地plt.savefig('result.jpg'):代码必须是先 plt.savefig('result.jp如果去掉plt.show() 只保存图像 plt.savefig('result.jpg'),单幅图像可以,如果循环文件夹里的图像,保存的图像中label会叠加,显示错误。经评论中网友FISHstudyrustt 提示,需要在每次使用plot做完图后关闭,即plt.close()。转载 2023-04-06 14:32:30 · 2766 阅读 · 0 评论 -
目标检测结果IOU不同取值的含义 IoU=0.50与IoU=0.50:0.95
Average Precision (AP)和Average Recall (AR),AP是单个类别平均精确度,而mAP是所有类别的平均精确度。AP是Precision-Recall Curve曲线下面的面积。预测样本在检测中就是预测框的大小,我们设置的IoU就是指的真实框与预测框的交并比,如果大于阈值就是正确,小于就是错误。原创 2023-03-28 15:33:37 · 7191 阅读 · 3 评论 -
COCO/VOC评估输出指定某类AP或输出每个类别AP结果
COCO/VOC评估输出指定某类AP或输出每个类别AP结果,打印输出各类别的AP值,用于模型评估。转载 2023-03-27 19:55:43 · 1003 阅读 · 4 评论 -
一文看懂预训练和自训练模型
预训练模型就是提前训练好模型参数。有了预训练模型,我们就不需要再从0开始训练所有参数了,但是针对我们当前的这个任务,有些参数可能不合适,我们只需要在当前参数的基础上稍加修改(微调)就可以得到比较好的效果,这样学习时间必然会大大减小。原创 2023-03-01 14:54:38 · 5333 阅读 · 0 评论 -
pytorch中padding应用总结
padding 的操作就是在图像块的周围加上格子, 从而使得图像经过卷积过后按照预期大小变化,这种操作是使得图像的边缘数据也能得到利用,以更好地扩张整张图像的边缘特征。原创 2023-02-22 10:46:13 · 2639 阅读 · 0 评论 -
深入理解Embedding层
embedding层把我们的稀疏矩阵,通过一些线性变换(在CNN中用全连接层进行转换,也称为查表操作),变成了一个密集矩阵,这个密集矩阵用了个特征来表征所有的文字,在这个密集矩阵中,表象上代表着密集矩阵跟单个字的一一对应关系,实际上还蕴含了大量的字与字之间,词与词之间甚至句子与句子之间的内在关系(如:我们得出的王妃跟公主的关系)。他们之间的关系,用的是嵌入层学习来的参数进行表征。从稀疏矩阵到密集矩阵的过程,叫做embedding,也叫查表。转载 2023-02-15 15:09:42 · 305 阅读 · 0 评论 -
Inception-Resnet-v1、Inception-Resnet-v2学习笔记(附Pytorch代码)
介绍Inception-Resnet-v1和IInception-Resnet-v2网络结构,并基于pytorch实现这两种网络结构。nception-V4在Inception-V3的基础上进一步改进了Inception模块,提升了模型性能和计算效率,但没有使用残差模块, Inception-ResNet将Inception模块和深度残差网络ResNet结合,提出了三种包含残差连接的Inception模块,残差连接显著加快了训练收敛速度。原创 2023-02-14 11:41:02 · 6490 阅读 · 0 评论 -
Top-1错误率、Top-5错误率等常见的模型算法评估指标解析
Top-1 错误率:指预测输出的概率最高的类别与人工标注的类别相符的准确率,就是你预测的label取最后概率向量里面最大的那一个作为预测结果,如过你的预测结果中概率最大的那个分类正确,则预测正确,否则预测错误。Top-5 错误率:指预测输出的概率最高的前5个类别,就是最后概率向量最大的前五名中,只要出现了正确概率(与人工标注类别一致)即为预测正确,否则预测错误。原创 2023-02-12 11:10:04 · 4297 阅读 · 3 评论 -
关于卷积过程中通道数如何变化问题
对卷积操作前后通道数问题进行解释,输出通道数=卷积核的个数。原创 2023-02-01 10:14:18 · 3896 阅读 · 0 评论 -
NMS(Non-Maximum Suppression,非极大值抑制)解析
非极大值抑制(NMS,Non-Maximum Suppression),在计算机视觉任务中得到了广泛的应用,例如边缘检测、人脸检测、目标检测(DPM,YOLO,SSD,Faster R-CNN)等。转载 2023-01-17 10:11:17 · 4502 阅读 · 1 评论 -
PyTorch中contiguous、view、Sequential、permute函数的用法
PyTorch中contiguous、view、Sequential、permute函数的用法。原创 2023-01-12 22:13:13 · 1527 阅读 · 0 评论 -
PyTorch中MaxPool的ceil_mode参数
Pytorch池化层Maxpool中ceil_mode参数取true或false时的效果。转载 2023-01-12 10:58:30 · 1316 阅读 · 1 评论 -
Python安装torch(含torch和torchvision对应版本)
python安装torch和torchvision,解决安装出错问题。原创 2023-01-07 11:34:46 · 57068 阅读 · 5 评论 -
python批量重命名,把0变成000000,数字位变成6位
python批量重命名,把0变成000000,数字位变成6位。转载 2022-08-17 09:50:28 · 1115 阅读 · 0 评论 -
Anaconda安装labelImg图像标注软件
Anaconda安装labelImg图像标注软件:打开Anaconda Prompt,在命令窗口中激活新环境,并进入到新环境中,然后依次输入以下命令完成labelImg的安装(提示:直接在命令窗口中键入pip install labelimg会报错)。......原创 2022-07-27 09:40:47 · 4879 阅读 · 0 评论 -
反向传播算法推导过程(看一篇就够了)
反向传播BackPropagation算法简称BP,算是神经网络的基础了。在神经网络中,正向传播用于模型的训练,模型中的参数不一定达到最佳效果,需要进行“反向传播”进行权重等参数的修正。此外,神经网络每层的每个神经元都可以根据误差信号修正每层的权重。反向传播只需应用链式求导法则即可求出:这是典型的三层神经网络的基本构成,Layer L1是输入层,Layer L2是隐含层,Layer L3是隐含层,现在我们手里有一堆数据 {x1,x2,x3,...,xn},输出也是一堆数据 {y1,y2,y3,...,yn}原创 2022-07-13 15:44:53 · 11437 阅读 · 3 评论 -
一致性检验评价方法kappa
Kappa评分衡量两个评分之间的一致性。二次加权kappa是利用人工评分员分配的分数和预测分数计算的。该指标从-1(评分员之间完全不一致)到1(评分员之间完全一致)不等。一般用模型获得相同评价的数量与基于可能性的期望是否有差别来分析,当两个模型相同评价的数量和基于可能性期望的数量基本一样时,kappa的值就接近于1。举个栗子,模型A和基准的kappa:kappa = (p0-pe) / (n-pe)其中,P0 = 对角线单元中观测值的总和;pe = 对角线单元中期望值的总和。......转载 2022-07-08 15:39:02 · 6855 阅读 · 0 评论 -
监督学习与无监督学习的基本概念
机器学习中存在着三类模型,有监督学习、无监督学习和半监督学习,他们有何区别呢?转载 2022-06-13 11:26:26 · 3792 阅读 · 0 评论 -
机器学习梯度下降算法详解
【什么是梯度下降】首先我们可以把梯度下降拆解为梯度+下降,那么梯度可以理解为导数(对于多维可以理解为偏导),那么合起来变成了:导数下降,那问题来了,导数下降是干什么的?这里我直接给出答案:梯度下降就是用来求某个函数最小值时自变量对应取值其中这句话中的某个函数是指:损失函数(cost/loss function),直接点就是误差函数。一个算法不同参数会产生不同拟合曲线,也意味着有不同的误差。损失函数就是一个自变量为算法的参数,函数值为误差值的函数。所以梯度下降就是找让误差值最小时候算法取的参数转载 2022-05-24 10:30:59 · 965 阅读 · 0 评论 -
深度学习基础------前向传播与反向传播
当前,深度学习已经应用到很多领域:无人驾驶汽车,黑科技以及图像分类等等,这些前沿的科技也面临许多挑战,如无人驾驶汽车需要进行物体的检测、行人的检测、标志的识别以及速度识别等等;图像分类已经成为一项重要技术,它是计算机视觉的核心任务,其困难之处在于图像中物体形状的改变、部分遮蔽以及背景的混入等等。让机器学习人类模拟人类大脑的思考过程,需要进行大量的实验研究才能正式投入运行,即将大量的数据分为训练集、验证集以及测试集。深度学习的过程可以分为前向传播和反向传播两个过程,前向传播。简单来说,前向传播过程就是原创 2021-09-29 15:58:26 · 10516 阅读 · 0 评论