深度学习
文章平均质量分 88
李明朔
这个作者很懒,什么都没留下…
展开
-
Tensorflow2.0数据和部署(四)——Tensorflow高级模型部署
文章目录一、TF Serving1.安装2.搭建服务(1)构建模型(2)保存模型(3)运行TF Model Server3.使用服务(1)将数据传递给服务器(2)从服务器获取结果二、Tensorflow_hub三、Tensorboard四、联邦学习(federated learning)一、TF ServingTensorflow Serving是TFX(Tensorflow Extended)的一部分,是一个专门为生产环境下机器学习服务的API,使用TF Serving,可以在云平台通过HTTP来访问原创 2021-07-14 10:12:08 · 2200 阅读 · 1 评论 -
Tensorflow2.0数据和部署(三)——基于Tensorflow数据服务的数据管道
文章目录一、概述二、split和slice三、数据导出四、表现一、概述二、split和slice三、数据导出四、表现原创 2021-07-08 21:33:24 · 1084 阅读 · 3 评论 -
Tensorflow2.0数据和部署(二)——基于设备的模型与TensorFlow Lite
文章目录一、概述1.模型存储2.量化方法二、基于安卓的TF模型三、基于IOS的TF模型四、基于嵌入式设备的TF模型一、概述TensorFlow Lite的两个主要部分:转换器和解释器。转换器的主要作用是将TF模型转换为轻量化的可被解释器读取的模型结构,解释器主要是为了在不同的平台上进行部署。下图为TensorFlow Lite的结构:由于移动设备的计算能力限制,我们需要对模型进行优化,优化方法如下:量化(主要):降低模型权重和偏差中数字的精度,float32->int8剪枝:减少参数总原创 2021-06-30 14:35:18 · 1142 阅读 · 1 评论 -
Tensorflow2.0数据和部署(一)——基于浏览器的模型与TensorFlow.js
文章目录一、总体介绍编程实践1.创建一个简单的网页2.编写脚本文件加载TensorFlow.js3.完整代码4.从csv文件中读取数据4.设计更复杂的神经网络二、图像分类1.编写一个CNN网络2.可视化工具tfvis加载tfjs-vis在回调函数中设置tfvis三、模型转换为Json格式四、使用预训练模型进行迁移学习一、总体介绍TensorFlow.js的设计和架构如下图所示;从上图可以看出,我们既可以使用友好的高级API,也可以使用低级的API进行直接编程。我们希望他能够运行在浏览器和Node.j原创 2021-06-18 16:46:30 · 1099 阅读 · 0 评论 -
剪枝综述论文阅读:Methods for Pruning Deep Neural Networks
文章目录一、摘要以及概述二、三、四、论文链接:Methods for Pruning Deep Neural Networks一、摘要以及概述二、三、四、原创 2021-06-11 09:46:56 · 8566 阅读 · 4 评论 -
模型压缩资料整理
文章目录一、剪枝二、蒸馏三、结构搜索(NAS)四、量化五、高效结构设计’参考文章:模型压缩工作总结深度学习模型压缩与加速综述剪枝:【AI不惑境】模型剪枝技术原理及其发展现状和展望模型剪枝之pytorch prune模型加速与压缩 | 剪枝乱炖蒸馏:知识蒸馏(Knowledge Distillation)知识蒸馏是什么?一份入门随笔Knowledge Distillation(知识蒸馏)Review–20篇paper回顾7 Papers | CVPR 2020获奖论文;知识蒸馏综述架原创 2021-03-15 20:21:28 · 197 阅读 · 2 评论 -
动手学深度学习Pytorch Task01
深度学习目前以及未来都有良好的发展前景。正值疫情期间,报名参加了动手学深度学习pytorch版的公开课,希望在以后的学习生活中能够灵活运用学到的这些知识。第一次课主要包含三个部分:线性回归、softmax与分类模型、多层感知机,这些内容主要是对深度学习有一个入门的了解,比较简单,简要概述一下,具体pytorch的编程内容以后再写。线性回归以房屋价格和房屋面积和房龄为例,线性回归的基本模型可表...原创 2020-02-13 20:33:17 · 325 阅读 · 0 评论 -
目标检测综述——单阶段检测器
文章目录一、SSD((Single Shot MultiBox Detector))1.Default box2.训练过程3.数据增强4.其他变体1.DSSD2.DSOD3.FSSD4.RSSD二、YOLO(You Only Look Once)1.YOLO_V12.YOLO_V2、YOLO9000(1)better(2)faster(3)Stronger3.YOLO_V3(1)backbone(2)output(3)损失函数4.YOLO_V4(1)输入端Mosaic数据增强(2)BackBoneCSPDa原创 2021-02-01 14:38:57 · 6677 阅读 · 0 评论 -
目标检测综述——两阶段检测器
文章目录一级目录二级目录三级目录参考文章:论文笔记-2019-Object Detection in 20 Years: A Survey基于深度学习的目标检测算法综述(一)基于深度学习的目标检测算法综述(二)基于深度学习的目标检测算法综述(三)优秀的GitHub仓库:deep learning object detectionAwesome Object Detection比较全面的整理:我这两年的目标检测最全目标检测相关资料整理我这两年收藏的目标检测好文分享一级目录二级目录原创 2021-02-01 14:38:40 · 3135 阅读 · 0 评论 -
计算机视觉(三)——人脸识别
文章目录一、人脸检测1.OpenCV+深度学习人脸检测2.Haar cascades人脸检测3.HOG + Linear SVM人脸检测4.人脸面部特征检测(1)(2)(3)(4)5.人脸检测的应用(1)(2)(3)(4)二、人脸识别1.2.3.4.计算机视觉在人脸方向的应用主要为人脸识别,对于人脸识别问题,首先需要进行人脸检测定位到人脸的位置,之后再进行识别。人脸识别需要用到的重要库包括OpenCV、dlib和face_recognition。dlib库主要是用于构建人脸向量,而face_recogn翻译 2020-11-20 16:06:20 · 6122 阅读 · 0 评论 -
计算机视觉(二)——深度学习进阶
文章目录一、多输入多输出网络1.多标签分类2.多输出分类(1)数据预处理(2)网络结构(3)loss二级目录三级目录本篇内容主要是多输入多输出网络、卷积神经网络进阶、自动机器学习注:本文内容及代码均转自 pyimagesearch一、多输入多输出网络在卷积神经网络训练中,有时需要输出多个不同类别的特征,例如同时获得颜色和物品类别,更详细地来说判断这是个蓝色牛仔裤还是红色衬衫。这是使用多标签分类或者多输出分类的方法得到结果。1.多标签分类原文链接多标签分类的重点是对y值的预处理,其余部分则和普通翻译 2020-10-17 19:51:02 · 613 阅读 · 0 评论 -
计算机视觉(一)——深度学习
文章目录一、环境配置二、命令行介绍三、训练的第一个神经网络最近发现了一个很好的关于计算机视觉的网站 pyimagesearch,英文的教学网站, OCR,目标检测,实例分割等都挺全的,准备扒下来整理一个博客。一、环境配置网站作者建议使用ubuntu或者Mac进行深度学习的学习,当然Windows进行基础学习也可以,Linux更多的是命令行操作。主要环境建议Tensorflow2.0以上版本,环境配置不细说,很多教程都有Anaconda安装Tensorflow安装二、命令行介绍在Linux系统翻译 2020-10-09 14:51:11 · 1743 阅读 · 0 评论 -
Datawhale 零基础入门CV赛事-Task5 模型集成
这里写目录标题1.集成学习方法2.深度学习中的集成学习DropoutTTASnapshot1.集成学习方法在机器学习中的集成学习可以在一定程度上提高预测精度,常见的集成学习方法有Stacking、Bagging和Boosting,同时这些集成学习方法与具体验证集划分联系紧密。由于深度学习模型一般需要较长的训练周期,如果硬件设备不允许建议选取留出法,如果需要追求精度可以使用交叉验证的方法。例如构建了10折交叉验证,训练得到10个CNN模型。那么在10个CNN模型可以使用如下方式进行集成:对预测的结果原创 2020-06-02 15:02:18 · 198 阅读 · 0 评论 -
Datawhale 零基础入门CV赛事-Task4 模型训练与验证
文章目录1.构造验证集2.模型训练与验证1.构造验证集在机器学习模型(特别是深度学习模型)的训练过程中,模型是非常容易过拟合的。深度学习模型在不断的训练过程中训练误差会逐渐降低,但测试误差的走势则不一定。在模型的训练过程中,模型只能利用训练数据来进行训练,模型并不能接触到测试集上的样本。因此模型如果将训练集学的过好,模型就会记住训练样本的细节,导致模型在测试集的泛化效果较差,这种现象称为过拟合(Overfitting)。与过拟合相对应的是欠拟合(Underfitting),即模型在训练集上的拟合效果较原创 2020-05-30 20:03:54 · 146 阅读 · 0 评论 -
Datawhale 零基础入门CV赛事-Task3 字符识别模型
文章目录1.CNN实现2.Pytorch实现CNN3.使用ImangeNet预训练模型1.CNN实现CNN基础2.Pytorch实现CNN构建一个简单的CNN模型和训练过程import torchtorch.manual_seed(0)torch.backends.cudnn.deterministic = Falsetorch.backends.cudnn.benchmark = Trueimport torchvision.models as modelsimport torchv原创 2020-05-26 15:14:32 · 162 阅读 · 0 评论 -
Datawhale 零基础入门CV赛事-Task2 数据读取与数据扩增
文章目录数据读取图像读取1.pillow2.opencv数据读取数据扩增数据读取导入需要的包以及文件路径import json, globimport numpy as npfrom PIL import Imageimport torchfrom torch.utils.data.dataset import Datasetimport torchvision.transforms as transformstrain_path = glob.glob("../mchar_train/原创 2020-05-21 20:43:48 · 190 阅读 · 0 评论 -
零基础入门CV赛事-Task1 赛题理解
文章目录赛题介绍解题思路1. 定长字符识别2.不定长字符识别3. 检测再识别赛题介绍赛题以街道字符为为赛题数据(比赛地址),该数据来自收集的SVHN街道字符,训练集数据包括3W张照片,验证集数据包括1W张照片,每张照片包括颜色图像和对应的编码类别和具体位置。标签数据介绍:在比赛数据(训练集和验证集)中,同一张图片中可能包括一个或者多个字符,因此在比赛数据的JSON标注中,会有两个字符的边框信息解题思路一共三种解题思路:1. 定长字符识别可以将赛题抽象为一个定长字符识别问题,在赛题数据集中大原创 2020-05-20 17:00:23 · 242 阅读 · 0 评论 -
计算机视觉基础-图像处理 Task06 边缘检测
文章目录Sobel算子Canny边缘检测1.高斯滤波2.计算梯度强度和方向3.非极大值抑制4.用双阈值算法检测和连接边缘函数实现Sobel算子Canny算法Sobel算子我们可以使用3×3 的卷积核来进行图像求导:其中I表示原图片,Gx和Gy分别表示沿图片水平和竖直方向上的变化,∗表示卷积操作下面以Sobel算子为例讲述如何计算梯度x方向的Sobel算子为:若图像G 中一个3×3的...原创 2020-05-01 15:59:33 · 572 阅读 · 0 评论 -
计算机视觉基础-图像处理 Task05 图像分割/二值化
文章目录OSTU二值化自适应阈值函数实现OSTU二值化自适应阈值图像阈值化分割是一种传统的最常用的图像分割方法,因其实现简单、计算量小、性能较稳定而成为图像分割中最基本和应用最广泛的分割技术。它特别适用于目标和背景占据不同灰度级范围的图像。它不仅可以极大的压缩数据量,而且也大大简化了分析和处理步骤,因此在很多情况下,是进行图像分析、特征提取与模式识别之前的必要的图像预处理过程。图像阈值化的目的是...原创 2020-04-29 17:42:25 · 1271 阅读 · 0 评论 -
计算机视觉基础:图像处理 Task 04:图像滤波
文章目录1.方框滤波2.均值滤波3.高斯滤波4.函数原型方框滤波均值滤波高斯滤波实现实例图像的实质是一种二维信号,滤波是信号处理中的一个重要概念。在图像处理中,滤波是一种非常常见的技术,它们的原理非常简单,但是其思想却十分值得借鉴,滤波是很多图像算法的前置步骤或基础,掌握图像滤波对理解卷积神经网络也有一定帮助。滤波分成两类:线性滤波: 对邻域中的像素的计算为线性运算时,如利用窗口函数进行...原创 2020-04-27 14:27:42 · 563 阅读 · 0 评论 -
计算机视觉基础:图像处理 Task 03 - 颜色空间互转
文章目录RGB与灰度图互转RGB与HSV互转C++代码实现RGB与灰度图互转RGB(红绿蓝)是依据人眼识别的颜色定义出的空间,可表示大部分颜色。但在科学研究一般不采用RGB颜色空间,因为它的细节难以进行数字化的调整。它将色调,亮度,饱和度三个量放在一起表示,很难分开。它是最通用的面向硬件的彩色模型。该模型用于彩色监视器和一大类彩色视频摄像。对于彩色图转灰度图,有一个很著名的心理学公式:Gr...原创 2020-04-25 16:30:17 · 296 阅读 · 0 评论 -
计算机视觉基础:图像处理Task 02 几何变换
几何变换理论分析1.坐标系转换2.变换形式反向映射插值函数实现(C++)平移旋转理论分析对于旋转和偏移,就需要3步(3次变换):1.将输入原图图像坐标转换为笛卡尔坐标系;2.进行旋转计算。旋转矩阵前面已经给出了;3.将旋转后的图像的笛卡尔坐标转回图像坐标。1.坐标系转换对于缩放、平移可以以图像坐标原点(图像左上角为原点)为中心变换,这不用坐标系变换,直接按照一般形式计算即可。而对于旋...原创 2020-04-22 19:53:25 · 480 阅读 · 0 评论 -
计算机视觉基础:图像处理Task01-图像插值算法
图像插值算法1. 最近邻插值算法最近邻插值,是指将目标图像中的点,对应到源图像中后,找到最相邻的整数点,作为插值后的输出。f(dstX,dstY)=h(dstXsrcWidthdstWidth,dstYsrcHeightdstHeight) \begin{array}{c} f(dst_{X}, dst_{Y}) = h(\frac{dst_{X}src_{Width}} {dst_{Wid...原创 2020-04-20 20:21:05 · 204 阅读 · 0 评论 -
动手学深度学习Pytorch Task08
本节课内容为GAN、DCGAN一、GANGAN是生成对抗网络,包含一个生成器和一个判别器,生成器用来生产图片,判别器用来判别生成的图片和真实的图片,生成器的目的是以假乱真,判别器则希望能够识别出哪些是生成的图片,哪些是真实的图片。判别器是一个二分类器,输入为真实图片和生成的图片,输出为0-1之间的一个数,为了得到更好的判别器,我们希望能够最小化交叉熵损失函数,公式如下:对于生成器,输入...原创 2020-02-22 09:41:57 · 202 阅读 · 0 评论 -
动手学深度学习Pytorch Task07
本节课内容目标检测基础、图像风格迁移、图像分类案例1一、目标检测基础原创 2020-02-21 14:41:22 · 331 阅读 · 0 评论 -
动手学深度学习Pytorch Task06
本节课内容批量归一化和残差网络、凸优化、梯度下降一、批量归一化和残差网络1.批量归一化对输入的标准化(浅层模型):处理后的任意一个特征在数据集中所有样本上的均值为0、标准差为1。标准化处理输入数据使各个特征的分布相近。批量归一化(深度模型):利用小批量上的均值和标准差,不断调整神经网络中间输出,从而使整个神经网络在各层的中间输出的数值更稳定。对全连接层做批量归一化位置:全连接层中的仿射...原创 2020-02-18 10:51:29 · 238 阅读 · 0 评论 -
动手学深度学习Pytorch Task05
本节课内容,卷积神经网络基础、LeNet、卷积神经网络进阶一、卷积神经网络基础二维互相关运算:二维互相关运算的输入是一个二维输入数组和一个二维核数组,输出也是一个二维数组,其中核数组通常称为卷积核或过滤器。卷积核的尺寸通常小于输入数组,卷积核在输入数组上滑动,在每个位置上,卷积核与该位置处的输入子数组按元素相乘并求和,得到输出数组中相应位置的元素。下图展示了一个互相关运算的例子,阴影部分分别是...原创 2020-02-17 14:50:05 · 232 阅读 · 0 评论 -
动手学深度学习Pytorch Task04
本节课主要内容为机器翻译及相关技术、注意力机制与Seq2seq模型、Transformer一、机器翻译及相关技术机器翻译:将一段文本从一种语言自动翻译为另一种语言,用神经网络解决这个问题通常称为神经机器翻译。 主要特征:输出是单词序列而不是单个单词。 输出序列的长度可能与源序列的长度不同。导入库import osos.listdir('/home/kesci/input/')impor...原创 2020-02-17 14:49:06 · 587 阅读 · 0 评论 -
动手学深度学习Pytorch Task03
第三节课的内容包括过拟合、欠拟合及其解决方案和梯度消失、梯度爆炸和循环神经网络进阶一、过拟合、欠拟合及其解决方案1.过拟合、欠拟合及相关概念训练误差:模型在训练数据集上表现出的误差泛化误差:模型在任意一个测试数据样本上表现出的误差,常通过测试集近似验证集:预留一部分在训练数据集和测试数据集以外的数据集,用来进行模型选择过拟合:训练误差远小于它在测试数据集上的误差欠拟合:模型无法得到较...原创 2020-02-15 15:53:25 · 333 阅读 · 0 评论 -
动手学深度学习Pytorch Task02
第二节课的内容包括文本预处理、语言模型和循环神经网络基础。本人对这方面不是很精通,可能会有错误。文本预处理文本预处理主要包括四个步骤:读入文本、分词、建立字典、将词转化为索引读入文本import collectionsimport redef read_time_machine(): with open('/home/kesci/input/timemachine7163/t...原创 2020-02-14 16:26:48 · 273 阅读 · 2 评论