
深度学习笔记
文章平均质量分 71
chestnut--
计算机视觉小小菜鸟一枚
邮箱:1678438052@qq.com
展开
-
模型运行过程中占内存的中间变量
具体激活函数产出的临时变量会占多大的显存呢?是否比参数占的要多的多呢?计算一遍,做一遍前向运算,会减少显存的使用,但是会增加耗时。2占了很大的比例,又包括激活中间变量和优化器部分;假设激活函数是sigmoid,则导数的值为。也可以不保存下来,需要用到的时候再用。为了方便参数更新,一般会将。进行前向运算重新计算一遍;暂时保存下来,非常占显存,...原创 2022-08-12 15:21:40 · 1128 阅读 · 1 评论 -
【论文阅读】Deep Modular Co-Attention Networks for Visual Question Answering
Deep Modular Co-Attention Networks for Visual Question Answering先理解下这个要干嘛:Visual Question Answering (VQA): 给一个图片和关于这个图片的问题,然后模型输入这两个数据,输出答案。文章中用得到的数据库VQA-v2里的一个例子:把中间的乱七八糟给盖住:输入问题:胡子是用什么做的?输出答案:香蕉需要设计网络做到同时理解文本内容,抓住关键词,同时理解图片中关键区域的内容:“哪里是胡子”这个问题肯.原创 2020-11-10 20:06:12 · 1225 阅读 · 1 评论 -
图解BERT模型:从零开始构建BERT
转载:https://cloud.tencent.com/developer/article/1389555本文首先介绍BERT模型要做什么,即:模型的输入、输出分别是什么,以及模型的预训练任务是什么;然后,分析模型的内部结构,图解如何将模型的输入一步步地转化为模型输出;最后,我们在多个中/英文、不同规模的数据集上比较了BERT模型与现有方法的文本分类效果。1. 模型的输入/输出BERT模型的全称是:BidirectionalEncoder Representations from Transfo.转载 2020-06-05 21:07:25 · 20298 阅读 · 6 评论 -
【论文阅读】Efficient Net
EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks.自AlexNet赢得2012年ImageNet竞赛以来,CNN已成为用于深度学习中各种任务的实际算法,尤其是对于计算机视觉。从2012年至今,研究人员一直在尝试并尝试提出越来越好的架构,以提高不同任务上模型的准确性。今天,我们将深入研究最新的研...原创 2020-04-18 22:16:45 · 689 阅读 · 0 评论 -
分类评价指标
有些东西虽然简单,但是还是要过个7、8遍才不容易记混记乱。Accuracy…Sensitivity在患病的所有人中(已经明确知道数据的分布了!),预测正确(判断为有病)的有多少?Sensitivity=TPTP+FNSensitivity = \frac{TP}{TP + FN}Sensitivity=TP+FNTPSpecificity在未患病的所有人中(已经明...原创 2020-01-09 18:04:44 · 577 阅读 · 0 评论 -
【论文阅读】WMH Segmentation Challenge 2017 及第一名解决方案
相关医学常识白质高信号白质病变的特点是双侧,大多对称高强度的t2加权MRI是常见的老年人。虽然与脑血管疾病和血管危险因素密切相关,但这些白质病变的发病机制尚不清楚,可能是多因素的。Presumed vascular origin的白质高信号(WMH)是脑小血管疾病(SVD)的主要表现之一,并且在中风,痴呆和衰老中是很重要的特征表现。白质高信号有时候被认为是一种随着衰老而产生的一种正常表现,因为...原创 2019-11-29 17:52:48 · 4409 阅读 · 4 评论 -
BraTS2019中的不确定性分割任务
BraTS 2019中新增添了一项为任务3: 分割中不确定性的量化。目的是给每一个像素值的预测值的确定性给打分,哪些像素可以100%的确定是属于某种肿瘤区域,那些是很大概率的属于某种肿瘤。当然,临床上最终的金标准的判断是病理的检测化验。这项新任务的重点是在神经胶质瘤区域分割的背景下探索不确定性测量,其目标是奖励参与方法的结果预测:(a) confident when correct(b)...原创 2019-10-29 17:40:17 · 2334 阅读 · 4 评论 -
神经网络训练输入数据并行化
在训练神经网络的时候,有时候数据的读取处理所占用的时间比较长,像数据量非常大的情况,或者是3D的数据预处理比较耗内存的情况。此时我们希望并行化,即数据处理与训练同时进行。参考:https://tensorpack.readthedocs.io/tutorial/extend/input-source.html图片上为两种数据处理的方式:并行化和串行化。并行化:在处理数据的时候并进行训...翻译 2019-09-23 13:54:48 · 2471 阅读 · 0 评论 -
改进3D/2D U-NET--添加深度监督deep supervision【Keras】
前言深度监督deep supervision(又称为中继监督intermediate supervision),其实就是网络的中间部分新添加了额外的loss,跟多任务是有区别的,多任务有不同的GT计算不同的loss,而深度监督的GT都是同一个GT,不同位置的loss按系数求和。深度监督的目的是为了浅层能够得到更加充分的训练,避免梯度消失(ps:好像目前的技术已经使梯度消失得到了解决,像Relu...原创 2019-09-18 17:16:18 · 15113 阅读 · 14 评论 -
VGG16—perceptual loss in keras感知损失【Keras】
正常的损失加上感知损失,肯定需要自定义合适的loss function。在keras中,自定义loss function :先考虑keras中的loss,如下:def mean_squared_error(y_true, y_pred): return K.mean(K.square(y_pred - y_true), axis=-1)如果要定义自己的感知损失:def model...原创 2019-08-07 17:59:13 · 7794 阅读 · 9 评论 -
How AI Is Transforming Medical Imaging
How AI Is Transforming Medical Imaging网址2019-7-16原创 2019-07-19 16:44:35 · 185 阅读 · 0 评论 -
【keras】有关loss function的定义-返回的是`矩阵`还是`标量`
对于:mean_absolute_error源码中:def mean_absolute_error(y_true, y_pred): return K.mean(K.abs(y_pred - y_true), axis=-1)注意⚠️:axis=-1是默认的。查看K.mean以及K.abs:help(K.mean)Help on function mean in mo...原创 2019-07-18 16:03:14 · 1019 阅读 · 0 评论 -
【论文阅读】Abdominal multi-organ segmentation with organ-attention networks and statistical fusion
Abdominal multi-organ segmentation with organ-attention networks and statistical fusion文章目录Abdominal multi-organ segmentation with organ-attention networks and statistical fusion一、要点:二、腹部多器官分割的2个流派三、...原创 2019-07-09 18:12:03 · 3687 阅读 · 4 评论 -
【论文阅读】医疗影像图像增强
学习他人的技术,更好的应用在自己的项目上。创新总是从模仿开始的。前言 针对医疗影像的图像增强,这方面的研究根据目前的调研,相关的技术设计到两个公司或者机构,深透医疗的数据增强技术,根据创始人宫恩浩查到了他们所发布的相关的专利和论文,是值得学习的部分;联影的沈定刚的学生,四川大学的王艳课题组也对此有很多的研究,也是我们学习的目标。 首先是学习的宫恩浩的相关的论文,目前收集到的论文相关的...原创 2019-05-30 17:46:12 · 2430 阅读 · 2 评论 -
【论文阅读】Pancreas Segmentation in Abdominal CT Scan: A Coarse-to-Fine Approach 2016
思路尤其简单。先定位病灶的位置,再针对裁剪之后的图像进行分割。如何定位病灶的位置呢?使用分割。也就是使用了两次的分割,只不过两次的作用不一样。思路简单没问题,能写出公式就行;再加个高大上的图例。。。串形结构,attention机制。。。。...原创 2019-05-14 22:47:24 · 1569 阅读 · 0 评论 -
【论文阅读】医疗影像分割中的半监督学习Semi-supervised
前言医疗影像的数据紧缺问题我就不再多bibi了,为了解决这个问题,出现了很多的方法,像主动学习,迁移学习,半监督学习等弱监督学习方法,部分方法在图像分类中有很突出的应用。但是!图像分割尤其是医疗影像分割方面的弱监督方法还有待发掘~当然,也存在一些简单的方法,比如使用少量的数据训练的模型去预测未标注的数据,得到伪标签然后加入训练集继续训练。。。(在分类任务中比较常用)本博客就分享一偏使用半监督...原创 2019-05-08 13:12:09 · 7771 阅读 · 1 评论 -
【调参】Cyclic Learning Rates和One Cycle Policy-Keras
传统的网络训练过程中,一般学习率都是逐渐减小的,像keras可以使用keras.callbacks.ReduceLROnPlateau对学习率进行调整,例如:函数:keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10, verbose=0,...原创 2019-04-19 15:44:16 · 4618 阅读 · 0 评论 -
【调参】如何为神经网络选择最合适的学习率lr-LRFinder-for-Keras
keras 版本的LRFinder,借鉴 fast.ai Deep Learning course。前言学习率lr在神经网络中是最难调的全局参数:设置过大,会导致loss震荡,学习难以收敛;设置过小,那么训练的过程将大大增加。如果,调整一次学习率的周期的训练完一次,那么,训练n次,才能得到n个lr的结果…,导致学习率的选择过程代价太大。。有多种方法可以为学习速度选择一个好的起点。一个简...原创 2019-04-19 10:41:34 · 11369 阅读 · 0 评论 -
Inferring Generative Model Structure with Static Analysis-2017【论文理解】
此论文的两个重点:生成模型(Generative Model)静态数据分析(Static Analysis)要干的活:使用弱监督方法对大量无标注的数据进行弱监督的标注,然后使用弱监督标注的概率标签去训练分类的神经网络模型,得到的模型精度不亚于强监督学习的效果。无标注数据data弱监督生成模型标注probabilistic label判别式模型训练predict label关键是...原创 2019-04-15 22:38:08 · 906 阅读 · 0 评论 -
Weak Supervision: A New Programming Paradigm for Machine Learning
翻译自斯坦福AI lab博客,添加了一些自己的理解,地址前言机器学习(ML)可以说正在改变世界。但是,在很大程度上,是因为深度学习模型可以自动的提取特征,而不是之前的提取手工特征再做模型训练。考虑到诸如TensorFlow和PyTorch等多个开源ML框架的可用性,以及大量可用的最先进的模型,可以认为高质量的ML模型现在几乎是一种商品化的资源。然而,还有一个隐藏的陷阱:这些模型依赖于大量...翻译 2019-04-10 17:19:28 · 1164 阅读 · 0 评论 -
keras从dataframe中读取数据并进行数据增强进行训练(分类+分割)
keras的数据读取并进行在线数据增强进行训练,此处使用pandas dataframe的形式~dataframe 的数据存储分类def make_image_gen(in_df, batch_size = BATCH_SIZE): file = in_df['filepath'].values label = in_df['label'].values all...原创 2019-03-21 13:35:24 · 2620 阅读 · 1 评论 -
keras load model 并保存特定层 (pop) 的权重save new_model
有时候我们保存模型(save model),会保存整个模型输入到输出的权重,如果,我们不想保存后几层的参数,保存成新的模型。 import keras from keras.models import Model, load_model from keras.layers import Input, Dense from keras.optimizers imp...原创 2019-03-21 13:21:53 · 3803 阅读 · 1 评论 -
从loss处理图像分割中类别极度不均衡的状况---keras
最近在做小目标图像分割任务(医疗方向),往往一幅图像中只有一个或者两个目标,而且目标的像素比例比较小,选择合适的loss function往往可以解决这个问题。以下是我的实验比较。场景:1.U-Net网络2. kerasbinary_crossentropy二分类交叉商损失会导致模型学习不到很好的效果,因为背景所占的比例太大,而目标太小,是严重的不平衡数据。Focal loss...原创 2019-02-10 23:21:35 · 95642 阅读 · 94 评论 -
NASNET-【论文理解】
前言谷歌大脑Google Brain的一篇论文,提出了目前最好的图像分类的网络架构。之前的研究表明,网络结构的设计无非是一些卷积核、非线性变换、层之间的连接等之间的组合。那么当然就可以使用RNN来预测卷积单元 convolutional cell,单元中的网络元素的组合不再受人控制,再将卷积进行堆叠stack,构成对特定数据集的网络。注意:只预测能够堆叠的单元!而网络的整体结构还是需要人...原创 2019-02-03 12:59:47 · 2936 阅读 · 0 评论 -
Residual Attention Network--2017-【论文理解】
前言整体把这篇论文过了两遍之后,便觉得写的有点啰嗦。人类目前发明的所有代替人类工作的工具在最开始都是借鉴了人的行为,即发明是以人的行为为导向。对于今天讨论的注意力图像分类网络也是如此,但是是否真正达到了所谓的attention其实还需要进一步的考量(个人觉得)。对于人类而言,判断一副图像是否是猫,那么由于先天充分的学习,会瞬间锁定到图像中猫所在的关键区域,然后根据耳朵,鼻子,嗯,是猫。注意此处...原创 2019-01-28 14:19:52 · 1210 阅读 · 2 评论 -
3D Segmentation with Exponential LogarithmicLoss for Highly Unbalanced Object Sizes-MICCAI2018【论文理解】
MICCAI 2018的论文前言深度学习的迅速发展,使得在医疗影像分割上也有很多深度学习模型。但是论文提出,大部分的网络只能处理数量较少的类别(<10),并且在3D影像分割中,很难处理小目标,解决数据极度不均衡的问题。本论文提出了新的3D网络网络结构和新的loss function。这个loss function是收到了focal loss的启发,称为指数对数损失函数(Exponent...原创 2018-12-29 10:42:16 · 2507 阅读 · 1 评论 -
Spatial-Channel Sequeeze & Excitation (SCSE)-8-June-2018【论文理解】
文章目录前言SE(cSE)sCEscCE模型复杂度分析分割结果展示参考前言在分割领域,目前的网络改进方式一般是改进encoding层,或者是改进跨层连接的方式;但是此篇论文受到SE(squeeze&excitation)模块的提示,提出了另外三种模式sSE,cSE,scSE,来对网络特征进行调整,重视(加大权重)重要的特征图或者是特征通道,减小不重要特征的影响,从而改善图像分割结果。...原创 2018-12-24 17:48:43 · 8326 阅读 · 2 评论 -
keras多任务多loss回传的思考
如果有一个多任务多loss的网络,那么在训练时,loss是如何工作的呢?比如下面:model = Model(inputs = input, outputs = [y1, y2])l1 = 0.5l2 = 0.3model.compile(loss = [loss1, loss2], loss_weights=[l1, l2], ...)其实我们最终得到的loss为final_lo...原创 2018-12-21 15:48:52 · 7850 阅读 · 9 评论 -
Aggregated Residual Transformations for DeepNeural Networks -ResNetXt2017【论文理解】
前言这是残差家族的新的成员,在残差网络结构的设计中加入了“基数Cardinality”的概念,本质上就是分组卷积group convolution的运用,分组卷积最早的提出是在AlexNet中,是为了解决显存不够大的问题而提出的。具有相同网络拓扑结构的模块堆叠而成,在ImageNet分类中性能上优于ResNet-101/152[1],ResNet200 [2], Inception-v3 [3]...原创 2018-11-29 14:55:32 · 2085 阅读 · 1 评论 -
Identity Mappings in Deep Residual Networks2016【论文理解】
文章目录前言原始的残差模块改进的残差模块模块分析结果图参考前言此论文是对Deep residual networks [1]残差网络模块结构的改进和实验,提出了残差模块第二版,此新的模块形式不管是在前向传播或者是反向传播都有很好的优势,并且在网络训练上更加的容易,收敛更快,精度更高,泛化性更低!原始的残差模块如下图,XlX_lXl为输入,Xl+1X_{l+1}Xl+1为输出,有如下公式...原创 2018-11-28 16:48:51 · 446 阅读 · 0 评论 -
信息检索评价标准计算
原版PDF此处下载:http://web.stanford.edu/class/cs276/handouts/EvaluationNew-handout-1-per.pdf相关的评价标准NDGG也是用来衡量排序质量的指标精度计算平均检索精度简单而言就是多次检索之后结果的平均。...原创 2018-11-21 16:22:15 · 1685 阅读 · 0 评论 -
Xception: DeepLearning with Depthwise Separable Convolutions2017Google【论文理解】
暂定----原创 2018-11-19 11:29:12 · 340 阅读 · 0 评论 -
Context Encoding for Semantic Segmentation-CVPR2018【论文理解】
论文地址:http://openaccess.thecvf.com/content_cvpr_2018/papers/Zhang_Context_Encoding_for_CVPR_2018_paper.pdf代码及作者信息:https://hangzhang.org/先说一句,写论文的时候说的好听,但是要真正解释的时候还是很模糊的~~文章的核心(初步理解):分割与分类的结合,使用...原创 2018-11-16 17:04:27 · 441 阅读 · 1 评论 -
UNet以ResNet34为backbone in keras
参考:https://www.kaggle.com/meaninglesslives/unet-resnet34-in-keras原创 2018-11-08 17:51:22 · 13112 阅读 · 10 评论 -
keras 多GPU训练,单GPU权重保存和预测
多GPU训练keras自带模块 multi_gpu_model,此方式为数据并行的方式,将将目标模型在多个设备上各复制一份,并使用每个设备上的复制品处理整个数据集的不同部分数据,最高支持在8片GPU上并行。使用方式:from keras.utils import multi_gpu_model# Replicates `model` on 8 GPUs.# This assumes th...原创 2018-10-25 13:53:54 · 7643 阅读 · 9 评论 -
[tensorflow and keras] 自定义带权重的logloss
带权重的logloss — tensorflowdef weighted_loss(labels, logits): ''' Weighted loss. Args: labels: without onehot logits: after sorfmax Return loss ''' sf_logits_log = (-1) ...原创 2018-10-22 20:00:36 · 3908 阅读 · 0 评论 -
slim.conv2d以及slim.convolution2d与tf.nn.conv2d的不同
前言Slim是一个简化构建,训练和评估神经网络的库: 允许用户通过消除样板代码来更紧凑地定义模型。 这是通过使用参数范围和许多高级层和变量来实现的。 这些工具提高了可读性和可维护性,降低了复制和粘贴超参数值的错误发生的可能性,并简化了超参数调整。 通过提供常用的正则化器使开发模型变得简单。 Slim可以轻松扩展复杂模型,并通过使用预先存在的模型检查点来热启动训练算法。首先slim.c...原创 2018-08-13 15:46:25 · 7507 阅读 · 0 评论 -
在Ubuntu 16.04 使用命令行安装Nvidia CUDA-9.0以及cudnn7
本资料在ubuntu16.04上安装cuda-9.0,使用命令行,无需上nvidia官网下载包。OS: Ubuntu 16.04 x86_64(可选择项) 卸载旧版CUDA,类似于以下操作:sudo apt-get purge cudasudo apt-get purge libcudnn6sudo apt-get purge libcudnn6-dev安装CUDA Too...翻译 2018-08-01 10:49:33 · 6045 阅读 · 0 评论 -
tf-openpose人体姿态估计标签生成--heatmap--vectormap
项目地址:https://github.com/ildoonet/tf-pose-estimation人体姿态估计部分代码解读openpose是自下而上的人体姿态估计方法,此处我们讨论的是tensorflow的版本。 coco keypoints 标注 以及tf-openpose的标注调整(为了适应PAF阶段的预测): 序号 coco ori openpo...原创 2018-07-27 15:14:10 · 15951 阅读 · 22 评论 -
tensorflow对已经训练的模型进行优化和固化
前言有时,我们需要保存tensorflow训练的模型:tf.train.write_graph()默认情况下只导出了网络的定义(没有权重)利用tf.train.Saver().save()导出的文件graph_def与权重是分离的 为了方便使用模型,通过tensorflow.python.tools.freeze_graph可以将两者进行合并和优化最后得到最终的PB文件。通...原创 2018-07-24 17:07:33 · 4514 阅读 · 1 评论