计算机视觉
文章平均质量分 80
俯仰天地
AI Compiler Leaner
展开
-
计算机视觉3.4:理解rank-1和rank-5正确率
理解rank-1和rank-5正确率 在学习中,我们经常会遇到rankaccuracyrank accuracyrankaccuracy,这是什么意思呢? 我们举例来解释一下:假设我们正在评估一个在CIFAR−10CIFAR-10CIFAR−10数据集上训练好的神经网络,输入下图让我们的神经网络来计算出每个类别所对应的概率返回的结果如下表(左)所示: 类概率最高的是青蛙(97.397.3%97.3),确实也是正确的结果,如果我们重复此步骤:计算数据集中每个输入数据的类概率查看gro原创 2021-11-21 21:45:24 · 7199 阅读 · 1 评论 -
计算机视觉3.1:数据增强
数据增强Any modification we make to a learning algothrithm that is intended to reduce its generalization error but not its training error. ——Goodfellow et.al我们对( 深度)学习算法所做的所有调整都是为了减少其泛化误差,而非训练误差。我们之前所说的正则方法,正是通过以增大训练误差为代价来减原创 2021-11-05 12:29:31 · 3241 阅读 · 1 评论 -
计算机视觉2.19:深度神经网络结构可视化方法
网络结构可视化的重要性模型结构可视化是一个非常重要的工具,特别当你在:实现论文中的结构,对他并不熟悉实现自己自定义的网络结构通过检查输出的图相,你可以知道网络设计的逻辑上是否有瑕疵,包括:网络中的层序不正确卷积层或池化层后的输出维度不正确所以我们建议在每个卷积块和池化层块之后将模型可视化,让自己能够进行验证。结构可视化实现首先我们需要安装一个库:graphvizmac具体的安装步骤可以参考我的另一篇博客:Mac上安装graphviz. 成功解决ImportError: Fai原创 2021-11-05 08:40:39 · 165 阅读 · 0 评论 -
计算机视觉2.18:对模型性能的每一次提升进行保存
我们已经知道了如何将模型序列化到硬盘中,也知道了如何监控一个模型是否过拟合,以便于我们及时停止训练。这时候我们就会想到,有没有可能将这两种方法组合起来?当loss/accrucy有所提升的时候我们将模型序列化到硬盘中存储?答案是肯定的。根据模型是否提升一个很好的应用就是在训练的过程中,每当我们的模型有所进步的时候,我们将其序列化到硬盘。所谓进步,我们将其定义为loss降低或者accuracy升高。接下来我们会在CIFAR-10数据集上训练MiniVGG网络,每当模型有所进步的时候将其序列化到硬盘中保存原创 2021-11-05 08:39:30 · 110 阅读 · 0 评论 -
计算机视觉2.17.2:监控深度学习的训练过程
上篇文章1.17.1 注意欠拟合和过拟合中,我们一起讨论了过拟合和欠拟合发生的现象以及导致的原因。在本文中,我们将创建一个TrainingMonitor回调函数,在训练时的每个epoch结束时调用。监视器会将训练和验证的loss和准确率序列化到硬盘当中保存,并且以此为数据进行绘图。通过这个回调函数,我们就可以照看我们的训练过程,及时发现过拟合,阻止实验的继续进行,以防计算资源和时间的白白浪费。创建训练监视器目录结构如下:|----callbacks| |----__init__.py| |原创 2021-11-05 08:38:27 · 446 阅读 · 0 评论 -
计算机视觉2.17.1:过拟合与欠拟合
1. 什么是欠拟合和过拟合?当你的模型在数据集上不能获得足够低的loss时,就出现了欠拟合。这种情况下,你的模型未能学习到训练数据中潜在的模式。当我们的学习将训练数据的模式学习的太好了,但不能泛化于验证集,叫做过拟合。因此,我门在训练机器学习模型时的目标是:尽可能降低训练训练loss确保训练loss和测试loss之间的间隙足够小我们可以通过调整神经网络的容量来控制模型是否欠拟合或者过拟合。通过增加网络层数和神经元个数来增加容量。通过删除网络层数和神经元、实施正则技术(weight de原创 2021-11-05 08:37:16 · 979 阅读 · 0 评论 -
计算机视觉2.16:学习率调节器
Learning Rate Scheduler之前在cifar-10数据集上训练了MiniVGGNet网络,为了缓和过拟合,我们在应用SGD时引入了学习率decay的概念。本片文章将讨论学习率调度器的概念,有时也称为适应性学习率,通过在不同epoch上调整学习率,我们可以降低loss,提高精确度,在某种情况写甚至可以减少训练网络的时间。我们可以将调整学习率的过程看作:用较高的learning rate在早期的训练过程中找到一组合理的权重。之后用较小的learning rate慢慢的调整权重,直到原创 2021-11-05 08:33:17 · 2046 阅读 · 0 评论 -
计算机视觉3.3 :迁移学习之图像特征向量提取与运用
迁移学习之图像特征向量提取与运用 本篇文章将要讨论的是关于计算机视觉中迁移学习的概念,一种能够利用预先训练好的模型,从它之前训练的数据集之外的数据集进行学习的能力。 举个例子来说: 现有A,B两个不同的数据集,我们的任务是能够识别中A,B中不同类别的图像(分类任务) 常规做法:分别在A数据集上训练模型X,在B数据集上训练模型Y 迁移学习的做法:在A数据集上训练模型X,改造训练好的模型X,再用X去B数据集上训练。适用情况: 深度神经网络X已经在大型数据集(例如ImageNet)上训练原创 2021-10-25 17:39:32 · 5071 阅读 · 3 评论 -
M1mac安装tensorflow教程,解决引入matplotlib出错问题
M1mac安装tensorflow首先安装miniforge3点击此处去github下载miniforge选择apple Silicon版本(arm64)下载完成后进入下载目录,执行命令:bash Miniforge3-MacOSX-arm64.sh遇到[y/N]就选择yes安装完成后可以尝试 conda --version或者 conda info --env等命令检查一下是否成功。在本地创建一个environment.yml文件,写入以下内容:name: apple_tensorf原创 2021-10-24 01:56:15 · 795 阅读 · 0 评论 -
2021-10-22计算机视觉:4、更深的卷积神经网络:MiniVGGNet
MiniVGGNet:更深层的卷积神经网络 VGGNet,首次被Simonyan和Zisserman在他们的论文:Very Deep Learning Convolutional Neural Networks for Large-Scale Image Recognition 中提出。 在此之前,深度学习中的神经网络混合使用各种尺寸的卷积核。 经常是第一层卷积核大小在7 * 7到 11*11之间,然后减小到5*5,最深层一般是3*3。 VGG则不同,在整个网络结构中,只使用3*3的卷积核。原创 2021-10-22 23:01:18 · 1999 阅读 · 0 评论 -
计算机视觉:2.3、正则
3 正则Many strategies used in machine learning are explicitly designed to reduce the test error,possibly at the expense of increased training error. These strategies are collectively known as regularization -----Goodf原创 2021-10-21 23:39:31 · 148 阅读 · 0 评论 -
计算机视觉:2.2、随机梯度下降SGD
随机梯度下降(Stochastic Gradient Descent SGD) 之前讨论了经典的随机梯度下降算法:Gradient Descent 我们可以将其用于参数化学习,优化分类器的权重矩阵 W 。但是这种经典的梯度下降算法在大的数据集上运行的特别慢。实际上,这可以算的上是一种计算资源的浪费。 我们应该运用一种对标准梯度下降算法简单调整的算法:随机梯度下降(Stochastic Gradient Descent),这种算法在数据集中的一小批数据上运行结束后就计算梯度并更新权重矩阵。而原创 2021-10-20 20:14:55 · 331 阅读 · 0 评论 -
计算机视觉:2.3.1、梯度下降法优化权重矩阵
二、优化方法和正则方法“Nearly all of deep learning is powered by one import algorithm :Stochastic Gradient Descent(SGD)” —Goodfellow et al.·几乎所有深度学习都是被一种重要的算法所驱动的:随机梯度下降算法。 我们现在已经知道,想要得到一个高准确率的分类器,主要取决于找到一系列的权重W和b,只有这样我们的样本点才能被正确的分类。 但是问题就在于:我们如何能够找到能使分类器准确分原创 2021-10-20 17:34:14 · 841 阅读 · 0 评论 -
计算机视觉:2.2、第一个图像分类器
一、第一个图像分类器 机器学习算法例如K-NN、SVM等,即便是卷积神经网络也需要使数据集中的数据有固定的向量大小,对于图像来说就是要求图像的尺寸一致。 有许多改变图像大小的方法,从保持图像适应比的高级方法 到 压缩\拉伸图像的简单方法。应用那种方法因人而因、因地制宜、根据应用场景而变化。 我们选择的使简单的改变图像大小,不考虑适应比(长宽比)的方法,目录结构如下:----pyimgsearch ----__init__.py ----datasets ----__init__.p原创 2021-10-20 15:53:08 · 511 阅读 · 0 评论 -
计算机视觉1.8:参数化学习
之前我们讲了K-NN算法,通过将未知数据点和训练集中的数据点做比较,用样本点之间的距离作为度量,然后从训练集中k个最相似的样本中,通过“选举”的方式,获得最高投票的类别获胜,作为最后分类的结果。 虽然简单直观,但是也有很多缺点:实际上没有"学习"任何东西,如果算法出错,那么它将无法在接下来的分类中自动改正。如果不指定数据结构,k-NN算法占用的空间将随着数据集中样本点数量的增大而增大。当使用数据集维度巨大的的时候,使得其不论在实际还是理论上去使用都具有很大的挑战性。显然,如果我们每次做分类原创 2021-10-07 17:57:45 · 356 阅读 · 0 评论 -
计算机视觉:1.4、绘画
绘画在之前的计算机视觉:三、图像基础中介绍了如何在一幅图像中画一个蓝色的矩形,那么如果我们如果想画一条直线,一个圆呢?我们应该如何进行呢?我们就不能再用NumPy来操作了,而是用OpenCV 本文将展示如何利用openCV库来画直线、矩形和圆。直线 接下来的所有操作都将再会一副我们自己定义的画布上进行,我们可以利用NumPy数组自己定义一个画布(图像),因为openCV将一副图片解释为一个NumPy,所以我们没理由不能通过定义数组的方式来创造一副图像。新建draw.py文件,写入如下代码im原创 2021-10-06 13:06:56 · 568 阅读 · 0 评论 -
计算机视觉:1.3、图像基础
计算机视觉:三、图像基础本文我们将回顾构建图像的基础元素:像素。什么是像素?每个图像都由一组像素构成,像素是图像原生的基础构件,没有比像素更好的粒度(granularity)了。一般来说,我们认为像素是图像中某个给定位置出现的光的"颜色"或者"强度"。如果我们将图像看成一个网格,网格中的每个方块就包含一个像素。 例如,如果我们有一个分辨率为10*10的图像,这就说明我的图像被表示为一个像素网格,这个网格有10行10列。整体来说,图像中共有10✖️10=100个像素,如图。当然我们原创 2021-10-05 23:12:05 · 765 阅读 · 0 评论 -
计算机视觉:1.2、读入图像进行分析展示和保存
开门见山,直接进入代码实践部分:让我们来创建一个名为 imageHandler.py的文件来编写我们的代码。这里需要明确的一点是:图像在计算机中被看作是一个多维矩阵,这个矩阵是由无数个像素点组成的,例如一个大小为300pixel*300pixel大小的图像可以用300✖️300的矩阵表示,其中矩阵中的每一个元素表示一个像素点,一般来说每个像素点又分为灰度和彩色。如果是灰度图像,那么每个像素只有一个值,即其灰度值;如果是彩色图像,那么每个像素就会由好几个通道共同组成(如RGB图像是由R、G、B三个通道共原创 2021-10-04 17:30:07 · 308 阅读 · 0 评论 -
centos安装python及导入cv2出现的问题及踩坑记录
想在容器中使用python,但python的官方镜像太过于精简,里面不管是yum还是vi 还是vim都没有安装,使用起来比较不方便,于是决定在centos基础镜像中安装python环境,具体步骤和遇到的问题如下:下载centos官方镜像[root@lingg ~]# docker pull centos运行centos镜像[root@lingg ~]# docker run -it 镜像ID /bin/bash安装python环境yum -y install python3查看pytho原创 2021-09-27 22:59:26 · 2050 阅读 · 0 评论 -
计算机视觉:1.1、基础工具库介绍
为了探索计算机视觉的世界,我们首先需要安装包(package)和库(libaray)。对于首次接触到CV世界的人来说,安装这些包的过程可能会显得有些枯燥乏味。接下来向大家介绍一下用到的包和其大概的作用,我觉得这对于我们这些新手来说是非常有必要的。NumPy官网:numpy.orgNumPy is the fundamental package for scientific computing in Python. It is a Python library that provides a原创 2021-10-03 14:26:08 · 240 阅读 · 0 评论