
深度学习
hustwayne
。。。。。。
展开
-
Tensorflow OutOfRangeError: FIFOQueue '_1_batch/fifo_queue' is closed and has insufficient elements
训练中突然报错(第一个epoch中途):OutOfRangeError (see above for traceback): FIFOQueue '_1_batch/fifo_queue' is closed and has insufficient elements (requested 2, current size 1) [[Node: batch = QueueDequeueMan...原创 2019-03-28 10:32:20 · 2777 阅读 · 0 评论 -
Non-local Means 算法原理
转载 2019-04-17 09:17:19 · 4378 阅读 · 3 评论 -
Attention机制(语义分割) ~ 从经典去噪算法Non-local mean(NLM)到 Non-local neural network 到 CCNet
1.Non-local Means 非局部化(Non-local Means)滤波算法原理: 非局部化图像修复算法是近来新兴的图像处理算法,其原理是通过寻找整幅图像中与待恢复区域相似的块,再将找出的所有相似块通过某种相似性准则(如K均值聚类)进行聚类后联合滤波,从而减少图像噪声。而对于图像相似性的计算,可以通过比较一个窗口内的各个像素值来得到。具体参看:NLM...原创 2019-04-17 10:39:03 · 3917 阅读 · 0 评论 -
Real_time实时语义分割网络 SegNet, ENet, ICNet, BiSeNet,ShelfNet
1. SegNet论文地址:A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation本不应该将segnet作为实时语义分割网络,但是很多文章将它作为对比,因为segnet是一个小网络架构并且通过skip-connected来取得fast speed(网络结构见上图)。2. ENet论文...原创 2019-04-18 18:08:59 · 1912 阅读 · 0 评论 -
Tensorflow: .Pb模型合并(子图合并成大图)
有时我们训练了多个模型,想合并使用它们:如检测模型和分类模型,pose模型和分类模型等,实际应用时模型之前存在着先后的串联关系或者并行关系等。解决方法:需要建立多个图,然后每个图导入一个模型,再针对每个图创建一个会话 用简单的串联合并关系创建新图 子图合并为大图(跟上面一种方法类似,但子图间没有任何关联,减少了模型之间的束缚,但也可以让它们存在关系)这里主要介绍最后一种方法:...原创 2019-04-23 22:34:30 · 2742 阅读 · 5 评论 -
Crowd Counting ~ Density_map(密度估计)
参考:http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html https://www.jianshu.com/p/a1006c4b6fdc https://blog.youkuaiyun.com/qq_16013649/article/details/78784791基于密度图回归的人群密度估...原创 2019-05-09 23:49:57 · 2723 阅读 · 0 评论 -
显存充足,tensorflow报 CUDA out of memory错误
1.nvidia-smi 查看gpu占用情况 kill -9 PID清理进程后显示没有PID, 运行还是继续报错2. sudo fuser -v /dev/nvidia* 会显示 top 命令隐藏的 进程批量kill 进程 :pkill -u user 或 killall -u user, 解决kill的线程太多。...原创 2019-06-17 18:34:22 · 5627 阅读 · 0 评论 -
anchor box 生成
代码如下:调用generate_anchors()函数# --------------------------------------------------------# Faster R-CNN# Copyright (c) 2015 Microsoft# Licensed under The MIT License [see LICENSE for details]# Wri...原创 2019-06-26 11:29:51 · 977 阅读 · 0 评论 -
c++ 调用tensorflow模型错误
1Not found: Op type not registered 'NonMaxSuppressionV3' in binary running on LAPTOP-C34TSEPV. Make sure the Op and Kernel are registered in the binary running in this process.低版本的tensorflow 调用 高...原创 2019-06-18 16:23:02 · 1660 阅读 · 0 评论 -
视频语义分割-了解
转自:https://www.jianshu.com/p/1568e0d51912?utm_source=oschina-app相比于图像语义分割,视频语义分割具有高帧数(15-30帧/s),前后帧之间高相关性的特点。并且在自动驾驶任务中,对RGB摄像头传入的视频帧信号处理具有很高的实时性要求,因此针对视频语义分割任务来讲,需要在图像语义分割的任务上做进一步的工作。如何有效利用视频帧之间...转载 2019-04-06 19:18:46 · 6315 阅读 · 2 评论 -
滑动平均模型
指数衰减学习率使训练迭代更加有效: 学习率决定了每一次迭代训练过程优化神经网络数的幅度,学习率的正确选取对于训练的效率、和效果均有一定的影响,如果我们学习率设定过大,则会可能导致参数在极值两侧跳动,这样的迭代训练显然不是我们希望的。假设我们学习率设定过小,则我们可能在我们所能提供的训练次数内无法寻找到极优值,即是我们需要更多的迭代训练才能达到更好的优化效果。我们想想,如果使学习率处于...转载 2019-04-10 18:07:30 · 1615 阅读 · 0 评论 -
语义分割 FastFcn ~ JPU单元
Paper: FastFCN: Rethinking Dilated Convolution in the Backbone for Semantic Segmentation贡献:提出JPU替代 扩张卷积 计算时间和内存消耗减少3倍且有更好的表现 在一些公开数据集上 start of the art 文章以resnet101作为backbone, dee...原创 2019-04-04 17:24:36 · 3245 阅读 · 2 评论 -
numpy 中的一些常用方法函数记录(1)
1. np.argsort() numpy中的argsort函数是排序函数,返回的是每个元素的排序序号(数组值从小到大的索引序号)。#One dimensional array:>>> x = np.array([3, 1, 2])>>> np.argsort(x)array([1, 2, 0])#Two-dimensional arra...原创 2018-09-26 15:45:23 · 280 阅读 · 0 评论 -
numpy 中的一些常用方法函数记录(2)
1. np.reshape()作用是改变shape但保持原数据。>>> a = np.arange(6).reshape((3, 2))>>> aarray([[0, 1], [2, 3], [4, 5]])>>> np.reshape(a, (2, 3)) # C-like index orde...原创 2018-10-12 23:11:19 · 273 阅读 · 0 评论 -
numpy中一些常用函数记录(3)
1. np.prod() : prod函数用于求数组元素的乘积。Note: 数组没有元素,即为空时,得到的值为 1.0In [2]: np.prod([])Out[2]: 1.0In [4]: np.prod([[],[]])Out[4]: 1.0示例:>>> np.prod([1.,2.])2.0>>> np.prod...原创 2018-10-25 17:07:46 · 244 阅读 · 0 评论 -
python对训练数据集shuffle(打乱)的一些方式
1.通过数组来shuffleimage_list=[] # list of imageslabel_list=[] # list of labelstemp = np.array([image_list, label_list])temp = temp.transpose()np.random.shuffle(temp)images = ...原创 2018-10-22 20:22:40 · 14517 阅读 · 2 评论 -
Tensorflow中转置卷积的实现理解(tf.nn.conv2d_transpose)
最近在了解FCN时遇到转置卷积(反卷积,这样称呼好像不对),看了很多文档感觉不太好理解,下面是自己的理解,如有错误,希望大家指出纠正。"""conv2d_transpose( x, filter, output_shape, strides, padding='SAME', data_format='NHWC', nam...原创 2018-11-12 11:37:25 · 10007 阅读 · 5 评论 -
Tensorflow 读取数据的方式
目前tensorflow 读取数据大致以下三种方式:1. 用占位符(tf.p l a c e h o l d e r())读入,这种方法比较简单, 读取方式非常灵活,而且易于理解,但是在读取大数据时会非常吃力。2. 用队列的形式建立文件到tensor的映射。3. D a t a s e t A P I入数据,D a t a s e t A P I是T e n s o r F l o ...原创 2018-12-04 14:48:04 · 281 阅读 · 1 评论 -
Tensorflow 运行机制相关理解(Graph,Session)
Tensorflow核心工作模式非常简单: 定义数据流图(计算图) 运行数据流图如果数据流图不存在,那么肯定是无法运行的。因此我们在工作时只需要关注上述工作流的一部分,有助于更加周密的组织自己的代码,明确工作方向。用tensorflow构建一个基本的数据流图import tensorflow as tf# Build our graph nodes, starting...原创 2018-12-10 21:11:19 · 1490 阅读 · 0 评论 -
Tensorflow 预训练权重有选择加载参数
训练自己的模型我们一般都会使用预训练权重,有时别人训练好的模型类别与自己的不符合,这个时候就不需要加载一些层的参数. 由于原网络权重为150类,我只需要几类,最后一层的conv带有num_class参数,所以“your name scope” 替换为不需要的层的name,加载模型的时候就不会加载这层的参数。sess = tf.Session()init = tf.glob...原创 2019-03-08 22:31:50 · 4616 阅读 · 0 评论 -
Tensoflow sess.run导致的内存溢出
下面是调用模型进行批量测试的代码(出现溢出),开始以为导致溢出的原因是数据读入方式问题引起的,用了tf , PIL和cv等方式读入图片数据,发现越来越慢,内存占用飙升,调试时发现是sess.run这里出了问题(随着for循环进行速度越来越慢)。 # Creates graph from saved GraphDef create_graph(pb_path)...原创 2019-03-21 11:30:51 · 1536 阅读 · 0 评论 -
RGB-D 数据集
原文链接:RGB-DThis is an incomplete list of datasets which were captured using a Kinect or similar devices. I initially began it to keep track of semantically labelled datasets, but I have now ...转载 2019-03-25 10:27:30 · 5178 阅读 · 0 评论 -
对数几率回归(Logistic Regression)理解
对数几率回归模型是处理分类问题的算法,常用于垃圾邮件分类,天气预测等,很多文献也将其称为“逻辑回归”。本文也将称为逻辑回归。一. 逻辑回归由来下面是一个简单的线性回归模型。 我们知道“线性回归"试图学得一个线性模型以尽可能得准确预测实际值得输出标志。但要是做分类模型,则需要找一个单调可微函数将分类任务的真实标记与线性回归得预测值联系起来。对于一个二分类问题,将其输出标记...原创 2018-09-20 16:14:16 · 13427 阅读 · 2 评论