深度学习
文章平均质量分 87
鹊踏枝-码农
专业码农20年-河畔青芜堤上柳,为问新愁,何事年年有?独立小桥风满袖,平林新月人归后。
展开
-
2022年11月100篇 diffusion models 扩散模型 汇总!
2022年11月100篇 diffusion models 扩散模型 汇总!原创 2022-12-09 10:47:17 · 2530 阅读 · 0 评论 -
PyTorch之利用预训练模型进行Fine-tuning教程
在Deep Learning领域,很多子领域的应用,比如一些动物识别,食物的识别等,公开的可用的数据库相对于ImageNet等数据库而言,其规模太小了,无法利用深度网络模型直接train from scratch,这时就需要把一些在大规模数据库上已经训练完成的模型拿过来,在目标数据库上直接进行Fine-tuning(微调),这个已经经过训练的模型对于目标数据集而言,只是一种相对较好的参数初始化方法...原创 2020-04-12 17:36:34 · 3823 阅读 · 1 评论 -
关于Keras的格式化输出Loss实现
在win7 64位,Anaconda安装的Python3.6.1下安装的TensorFlow与Keras,Keras的backend为TensorFlow。在运行Mask R-CNN时,在进行调试时想知道PyCharm (Python IDE)底部窗口输出的Loss格式是在哪里定义的,如下图红框中所示: ...原创 2018-07-17 22:12:48 · 9119 阅读 · 4 评论 -
深度卷机网络(Deep CNNs)的GFLOPS与参数量计算
转载来源:深度学习分类网络关于model参数量计算:1.CNN学习笔记——理解结构,LeNet5介绍1 VGG-16VGG16[1]是非常经典的模型,好用,是2014 ImageNet的亚军(有可能是vgg-19)。核心思想:小核,堆叠。主要分成5个stages,22333,13个卷积层,16的意思应该是加上3个FC层。每个stage后面都跟着一个pool来减小尺寸,参数方面fc占了很多,所以后面...转载 2018-07-16 10:39:23 · 17128 阅读 · 7 评论 -
用于语义分割的全卷积网络FCN的Caffe版
论文“Fully Convolutional Networks for Semantic Segmentation by Jonathan Long*, Evan Shelhamer*, and Trevor Darrell. CVPR 2015 and PAMI 2016.”的Caffe实现官方网址如下:fcn.berkeleyvision.org...原创 2018-05-23 08:59:11 · 643 阅读 · 0 评论 -
关于MatConvNet框架下深度学习模型的保存(Deploy)问题
在MatConvNet框架下训练好的深度学习模型(Model)经:net = cnn_imagenet_deploy(net) ;得到的net是去掉Loss层,Dropout层与BN层的。下面是cnn_imagenet_deploy函数的部分源码:isDag = isa(net, 'dagnn.DagNN') ;if isDag dagRemoveLayersOfType(net, 'dag...原创 2018-05-22 22:13:55 · 1124 阅读 · 3 评论 -
深度学习性能提升的诀窍
原文: How To Improve Deep Learning Performance作者: Jason Brownlee转载来源:深度学习性能提升的诀窍提升算法性能的想法这个列表并不完整,却是很好的出发点。我的目的是给大家抛出一些想法供大家尝试,或许有那么一两个有效的方法。往往只需要尝试一个想法就能得到提升。我把这个列表划分为四块:· 从数据上提升性能· 从算法上提升性能· 从算法调优上提升性...转载 2018-05-26 10:04:02 · 497 阅读 · 0 评论 -
深度学习之Bottleneck Layer or Bottleneck Features
在深度学习中经常听闻Bottleneck Layer 或 Bottleneck Features ,亦或 Bottleneck Block,其虽然容易理解,其意思就是输入输出维度差距较大,就像一个瓶颈一样,上窄下宽亦或上宽下窄,然而其正儿八经的官方出处没有一个能说出其所以然来,下面本文将对Bottleneck Layer 或 Bottleneck Features ,亦或 Bottleneck...原创 2018-05-21 11:25:36 · 51464 阅读 · 11 评论 -
关于vl_nnloss中类别标签到索引的转换
下面是基于MatConvNet框架的vl_nnloss中类别标签到索引的转换的代码实现:在上述代码中,Line 218 表示获取每个通道的像素数,inputSize(1:2)表示获取每个通道的 Feature Map或Score Map的Size(height and width)大小;Line 219 表示获取一个batch的像素个数,其中inputSize(4)表示batch大小;Line 2...原创 2018-05-19 09:19:49 · 469 阅读 · 0 评论 -
目标检测之 Fast R-CNN
论文地址:Fast R-CNN代码地址:rbgirshick/fast-rcnnFast R-CNN是在R-CNN的基础上进行的改进,大致框架是一致的。总体而言,Fast R-CNN相对于R-CNN而言,主要提出了三个改进策略:1. 提出了RoIPooling,避免了对提取的region proposals进行缩放到224x224,然后经过pre-trained CNN进行检测的步骤,加速了整个网...原创 2018-07-13 20:41:46 · 27261 阅读 · 10 评论 -
目标检测之 Faster R-CNN
论文地址:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks代码地址:ShaoqingRen/faster_rcnn不论是R-CNN还是Fast R-CNN,在提取目标候选区域(region proposal)的时候采用的是同一种方法,即selective search方法,这个方法比较耗时,...原创 2018-07-13 22:42:32 · 1025 阅读 · 0 评论 -
实例分割之 Mask R-CNN
论文地址:Mask R-CNN代码地址:facebookresearch/DetectronMask R-CNN是在Faster R-CNN的基础上进行了改进。Faster R-CNN主要是用来进行目标识别的,为了能够进行实例分割,Mask R-CNN在Faster R-CNN的基础上加了一个分支,这个分支主要是由一个small FCN(全卷积网络)构成。这个FCN就是用来输出一个Mask,这也就...原创 2018-07-14 11:51:41 · 3299 阅读 · 0 评论 -
Keras code and weights files for popular deep learning models
Keras code and weights files for popular deep learning models,关于Keras库的一些常用的流行的深度学习模型主要来自fchollet在其github上release的models,支持tf_dim_ordering_tf_kernels与th_dim_ordering_th_kernels,同时支持的models weights有inc...原创 2018-08-09 20:28:49 · 829 阅读 · 0 评论 -
理解交叉熵作为损失函数在神经网络中的作用
转载来源:理解交叉熵作为损失函数在神经网络中的作用通过神经网络解决多分类问题时,最常用的一种方式就是在最后一层设置n个输出节点,无论在浅层神经网络还是在CNN中都是如此,比如,在AlexNet中最后的输出层有1000个节点:而即便是ResNet取消了全连接层,也会在最后有一个1000个节点的输出层:一般情况下,最后一个输出层的节点个数与分类任务的目标数相等。假设最后的节点数为N...翻译 2018-10-26 11:05:27 · 1292 阅读 · 0 评论 -
Keras中的Sequential与PyTorch中的Sequential对比
深度学习库Keras中的Sequential是多个网络层的线性堆叠,在实现AlexNet与VGG等网络方面比较容易,因为它们没有ResNet那样的shortcut连接。在Keras中要实现ResNet网络则需要Model模型。下面是Keras的Sequential具体示例:可以通过向Sequential模型传递一个layer的list来构造该模型:from keras.models im...原创 2018-10-31 15:43:40 · 3829 阅读 · 0 评论 -
用于医学图像分割的U-Net网络解读
U-Net原文:U-Net: Convolutional Networks for Biomedical Image SegmentationTensorFlow实现:jakeret/tf_unet原创 2018-10-24 21:05:05 · 2662 阅读 · 0 评论 -
you must feed a value for placeholder tensor 'input_2' with dtype float and shape [?,?,6]
如下代码:from keras.layers import Inputfrom keras.models import Model...img_input = Input(shape=input_shape_img)roi_input = Input(shape=(None, 6))...model_classifier = Model([img_input, roi_i...原创 2018-11-06 15:54:42 · 8300 阅读 · 0 评论 -
The difference between Softmax and Softmax-Loss
转载来源:The difference between Softmax and Softmax-LossThe softmax loss layer computes the multinomial logistic loss of the softmax of its inputs. It’s conceptually identical to a softmax layer followe...转载 2018-11-30 09:26:03 · 944 阅读 · 1 评论 -
基于MatConvNet的全卷积神经网络(FCN) SegmentationLoss代码解析
在MatConvNet框架下,FCN是由DAG结构实现的,主要利用Matlab的OOP编程,下面是SegmentationLoss类的实现代码:下面对上述代码行讲解:classdef SegmentationLoss < dagnn.Loss第一行此句表示定义一个类,类名为SegmentationLoss,该类继承自类dagnn.Loss,这里均与C++类的创建与继承类似。接着从line 3...原创 2018-05-18 16:54:56 · 2252 阅读 · 2 评论 -
关于Windows下编译Caffe的Matlab接口
本文对本人前述博文中关于在Windows下编译Caffe的Matlab接口问题,作一些总结,首先看一下本文编译成功的CommonSettings.props文件范例,如下所示: $(SolutionDir)..\Build false false 8.0 <!-- NOTE:原创 2018-02-25 20:04:02 · 1920 阅读 · 0 评论 -
反向传播BP算法
一. 网络结构 经典的BP网络,其具体结构如下: 请特别注意上面这个图的一些符号说明如下:二. 学习算法 1. 信号的前向传递过程 请特别注意上述公式中的下标,这里,权值矩阵包含了神经元节点本身的偏置,所以权值矩阵多了一列。 2.转载 2017-06-29 17:00:07 · 432 阅读 · 0 评论 -
一个评测指标就是MAP(Mean Average Precision)平均精度均值。
来源01:Mean Average Precision(MAP)来源02:一个评测指标就是MAP(Mean Average Precision)平均精度均值来源03:MAP(Mean Average Precision)MAP可以由它的三个部分来理解:P,AP,MAP先说P(Precision)精度,正确率。在信息检索领域用的比较多,和正确率一块出现的是找回转载 2017-09-13 10:07:12 · 25983 阅读 · 9 评论 -
Windows下VS2013编译Caffe完全手册
本人的操作系统是Win7 64位的,VS2013旗舰版,Matlab2015b,Python是Miniconda2 64-bit (exe installer),当然Python anaconda3应该也可以,我没试过,这个是按照Microsoft/caffe主页上的建议安装的,然后是下载Microsoft/caffe,网址如下:https://github.com/Microsoft/caffe原创 2017-09-14 11:04:12 · 1192 阅读 · 0 评论 -
LibLinear(SVM包)使用说明之(一)README
来源: LibLinear(SVM包)使用说明之(一)README 本文主要是翻译liblinear-1.93版本的README文件。里面介绍了liblinear的详细使用方法。更多信息请参考: http://www.csie.ntu.edu.tw/~cjlin/liblinear/ 在这里我用到的是LibLinear的Ma转载 2017-09-16 09:06:10 · 574 阅读 · 0 评论 -
win7 64位Anaconda3下安装Pytorch教程
PyTorch官方网址:github ,主页概述:PyTorch 就已经是我们 Python 深度学习框架列表中的一个新的成员了。它是从 Lua 的 Torch 库到 Python 的松散端口,由于它由 Facebook 的 人工智能研究团队(Artificial Intelligence Research team (FAIR))支持且因为它用于处理动态计算图(Theano,Tensor原创 2017-09-17 10:55:30 · 18464 阅读 · 12 评论 -
深度学习-深度信念(置信)网络(DBN)-从原理到实现(DeepLearnToolBox)
深度信念网络,DBN,Deep Belief Nets,神经网络的一种。既可以用于非监督学习,类似于一个自编码机;也可以用于监督学习,作为分类器来使用。从非监督学习来讲,其目的是尽可能地保留原始特征的特点,同时降低特征的维度。从监督学习来讲,其目的在于使得分类错误率尽可能地小。而不论是监督学习还是非监督学习,DBN的本质都是Feature Learning的过程,即如何得到更好的特征表达。转载 2017-10-11 11:49:53 · 24036 阅读 · 8 评论 -
非监督神经网络的wake-sleep算法
非监督神经网络的wake-sleep算法可以用来Fine tuning DBNs,该算法主要分为两个阶段,即"wake"阶段与"sleep"阶段,其中"wake"阶段用来学习生成权重(generative weights),"sleep"阶段用来学习识别权重(recognition weights)。一. 原理识别权重与生成权重分别对应DBNs的编码(encoder)与解码(decoder原创 2017-10-11 19:43:33 · 9604 阅读 · 0 评论 -
随机采样方法整理与讲解(MCMC、Gibbs Sampling等)
来源:http://www.cnblogs.com/xbinworld/p/4266146.html随机采样方法整理与讲解(MCMC、Gibbs Sampling等)本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅。其实参考资料中的资料写的比我好,大家可以看一下!好东西多分享!PRML的第11章也是sampling,有时间后面写到PRML的笔转载 2017-10-12 17:48:55 · 590 阅读 · 0 评论 -
关于MatConvNet深度学习库Index exceeds matrix dimensions错误注意事项
本人在Win7 64位操作系统下,用MatConvNet深度学习框架训练一个网络用于识别鸟类,这个鸟类有20类,网络训练好后,用于识别一下自己在网上爬的一些小鸟图片,识别效果还不错。于是,想在其它数据集上,比如识别狗狗,训练一下看看效果如何。于是本人直接在狗狗数据集上进行end to end训练,在训练的过程中,出现错误:Index exceeds matrix dimensions。一步一步调试原创 2017-11-21 21:21:40 · 4176 阅读 · 0 评论 -
MatConvNet之softmaxloss原理及其代码实现
在卷积神经网络ConvNets中,前向传播到最后一层计算网络预测标签(predicted label)与真实标签(Ground Truth)之间的误差,需要定义一个损失函数,如Log loss,Softmax log loss,Multiclass hinge loss,Multiclass structured hinge loss等,本文要讲的就是Softmax log loss损失函数在Co原创 2018-01-21 19:54:02 · 1048 阅读 · 0 评论 -
MatConvNet之softmaxloss原理及其代码实现--新版
在卷积神经网络ConvNets中,前向传播到最后一层计算网络预测标签(predicted label)与真实标签(Ground Truth)之间的误差,需要定义一个损失函数,如Log loss,Softmax log loss,Multiclass hinge loss,Multiclass structured hinge loss等,本文要讲的就是Softmax log loss损失函数在Co原创 2018-01-21 20:30:42 · 2950 阅读 · 4 评论 -
vl_nnsoftmax源码解析
function Y = vl_nnsoftmax(X,dzdY)%VL_NNSOFTMAX CNN softmax.% Y = VL_NNSOFTMAX(X) applies the softmax operator the data X. X% has dimension H x W x D x N, packing N arrays of W x H% D-dimensi原创 2018-01-29 22:22:32 · 570 阅读 · 0 评论 -
triplet loss原理推导及其代码实现
关于triplet loss原理及推导,参考来源:triplet loss 原理以及梯度推导【前言】 最近,learning to rank 的思想逐渐被应用到很多领域,比如google用来做人脸识别(faceNet),微软Jingdong Wang 用来做 person-reid 等等。learning to rank中其中重要的一个步骤就是找到一个好的similarity fu原创 2018-01-30 16:14:45 · 6341 阅读 · 0 评论 -
关于MatConvNet的反向传播原理及源码解析
MatConvNet深度学习库的反向传播原理如下图所示:上图是简化版的反向传播原理推导,具体的张量表示法参考相关手册。为了方便对比及具体详尽的原理推导,在手册中,关于反向传播的推导部分截图如下:其中在上图中,重点注意的地方就是式(2.2),它只是关于x的导数。为了引起重视,下面有一个练习:%下面实现一个由一个卷积层和ReLU层构成的两层卷积网络的反向原创 2018-02-26 22:21:34 · 1765 阅读 · 2 评论 -
Caffe的Matlab接口MatCaffe教程
在Matlab下利用Caffe的Matlab接口MatCaffe,首先需要编译Caffe的Matlab接口,相关教程参见如下:1. 关于Windows下编译Caffe的Matlab接口2. Windows下VS2013编译Caffe完全手册编译配置成功后方可使用Caffe的Matlab接口,具体使用教程如下:Examples below shows deta原创 2018-02-27 22:06:53 · 4411 阅读 · 0 评论 -
关于MatConvNet的vl_nnconv函数
本文主要讲解关于 Y = VL_NNCONV(X, F, B)函数中B的格式,如下所示:% Read an example imagex = imread('peppers.png') ;% Convert to single formatx = im2single(x) ;% Visualize the input xfigure(1) ; clf ; imagesc(x) ;原创 2018-03-07 22:37:25 · 6601 阅读 · 11 评论 -
MatConvNet的CNN卷积网络目标函数定义,优化和反向传播及其Matlab代码实现
在CNN卷积网络中,从输入前向传播到误差反向传播,如下图所示:其中,在反向传播过程中,还需要把网络的输出经过一个目标函数(Objective function),通常也称为损失函数(Loss function),把网络的输出映射为一个实数,反向传播就是去优化这个损失函数,具体如下图所示:在上图中,f 表示网络的计算模块,y 为网络输出,g 表示损失函数,网络的输出原创 2018-03-09 11:22:54 · 3135 阅读 · 0 评论 -
深度学习库Theano导入mnist数据库
针对很多人在学习Theano深度学习库时,遇到无法导入mnist数据库问题,在此给出一种解决方法。具体出现的问题及解决方案如下图所示:成功导入MNIST数据的代码,加入了encoding='bytes',因为,在Python下,数据均是按字节存储的。原创 2016-11-07 22:20:52 · 1378 阅读 · 0 评论