deeplabv3+
TinaO-O
这个作者很懒,什么都没留下…
展开
-
VOC2012服务器好像是停了? 好消息,5。5号又开了,尽快测试,不知道啥时候又会关了
是这样的,VOC2012的test数据未公布,所以只能上传服务器,可是最近服务器好像不工作了,不知道是不是疫情影响,还是怎么了?在7号大概还是好使的,目前突然不好使了。就在eccv投稿期还是好使的。真不是水啊,就是这个不好使的话,问题还是挺大的,不知道是不是我代码出问题了。那以前为啥好使?...原创 2020-03-14 13:03:08 · 476 阅读 · 4 评论 -
分布式运算白花钱警告:使用tensorflow分布式必须注意ps server空耗资源
为武汉祈祷。ps server 不会主动停止,无论在什么情况下。这个问题从2016年提出,到现在,也没有一个简洁干净的解决方式,而这个问题会很严重,如果你使用的是租用资源,会白白花费很多钱钱。我注意到,ps server不论是使用gpu还是cpu资源都不会主动停止,即使worker已经训练完停止了,甚至是遇到错误,ps server仍旧会运行。 这就会导致这个进程对节点资源的持续占有,即使...原创 2020-02-19 02:05:48 · 992 阅读 · 2 评论 -
几个小时 几行代码 简单 直白 tensorflow 分布式代码实战
北京又下雪了,这个2020年开启的方式太沉重了。我本人对tf并不精通。分布式听起来也很复杂。而且我要做的是将deeplabv3+的代码做成分布式的。也就是多个节点,相当于用两台服务器的gpu。听起来很麻烦,实际上居然很简单。而我自己也是花了几个小时从什么都不懂到代码跑起来。很多教程写了特别长的文字,我认为画图更简单。本教程尽量简短,好懂,并且有代码。只是基础教程,不能做到自创多GPU损失计...原创 2020-02-12 01:36:01 · 1101 阅读 · 9 评论 -
官方代码 Deeplab v3+ resnet101 做backbone
大年初一我居然在更博客。今年过年由于病毒横行,没有串门没有聚餐,整个人闲的没事干。。。医生真是不容易,忙得团团转还有生命危险,新希望他们平安。本篇不属于初级教程。如果完全看不懂请自行谷歌或搜索作者博客。deeplab官方提供了多种backbone,通过train.py中传递参数,--model_variant="resnet_v1_101_beta" \可以更改backbone。...原创 2020-02-01 04:46:36 · 6627 阅读 · 12 评论 -
VOC2012 数据集 保存成彩色 调色盘 P模式 PIL Image
VOC的标注22个,从0-21,其中21 是未标注类,不过实际上读取出来是255,所以你的标签[0,...20,255]out数据的要求是int,数值在[0,...20,255]代码:import numpy as npfrom PIL import Image# # load image, switch to BGR, subtract mean, and make dim...原创 2019-07-05 09:08:09 · 3072 阅读 · 2 评论 -
【代码】deeplabv3+ vis.py 可视化代码解析
我真希望我刚开始看代码的时候有这一些列的博客。我记得我当时上网各种找,只找到一篇可怜巴巴的解析,如获至宝,开启了看代码的流程。毕竟我当时完全不会tf,一直用的keras。bash代码举例:python "${WORK_DIR}"/vis.py \ --logtostderr \ --vis_split="val" \ --model_variant="xception_...原创 2019-10-12 14:21:08 · 1186 阅读 · 3 评论 -
deeplabv3+ 代码解析 去除decoder 部分
只需要训练时不提供参数“--decoder_output_stride=4 \”就可以直接去掉decode部分,那么取而代之的就是下面要讨论的。可以看出来,直接将16倍的特征图上采样到了原始图片大小。并且使用的是21通道的小特征图。从代码来看:def _get_logits(images, model_options, ...原创 2019-09-16 16:16:20 · 1413 阅读 · 0 评论 -
deeplabv3+ eval.py 代码 分析
eval.py只有一个主函数。多尺度输入的预测与单一尺度输入的预测不一样。多尺度调用model.py 的model.predict_labels_multi_scale单尺度调用model.predict_labelspredict_labels->multi_scale_logit, 同样的predict_labels_multi_scale同样调用该函数...原创 2019-09-18 08:36:49 · 1072 阅读 · 0 评论 -
deeplabv3+ 论文相关参数 代码解析 Flip MS SC random crop
目录1.Flip2. multi_scale input eval3.SC 在aspp与deconv采用seperate convmulti_scale 的参数传递是:另外,如果batch size改变的话,1.Flipinput_preprocess.py_PROB_OF_FLIP = 0.5该参数控制flip,如果为1,那么进入的图像一定会被flip...原创 2019-09-20 10:51:19 · 1340 阅读 · 0 评论 -
deeplab v3+ multi scales 代码解析
multi scale能够大大增加识别率,简单直白的说就是将图片resize,然后预测。只能在eval时使用,所以不需要训练可用范围:[0.5, 0.75, 1.0, 1.25, 1.5, 1.75] ,定义在eval。py中# Change to [0.5, 0.75, 1.0, 1.25, 1.5, 1.75] for multi-scale test.flags.DEFIN...原创 2019-09-20 20:52:47 · 1016 阅读 · 2 评论 -
voc2012 测试数据集 上传
测试数据没有标注下载,只能预测好了上传官网,官方给结果。我只关注segmentation任务。任务5,你的训练数据只有trainval任务6,训练数据不限具体的图片格式:必须是PNG,数值0-20,colormap需要与提供的training,validation一致。应该是这样的:注意1.如果上传的是5,只用了trainval,那么可用的不仅仅是分割,...原创 2019-10-10 16:37:12 · 3267 阅读 · 7 评论 -
deeplabv3+ 跑test数据
官方代码,虽然有is_training这个关键字,但是没有test的相关数据生成代码,也没有generator代码。如果有的话那就太好了,告诉我。如果你看过去哦之前的博客,你听的明白,不明白也没关系,下面告诉你怎么改。改点1,build_voc2012_data.py毕竟test没图片,我就偷个懒,造个图片,放进tfrecord即可。代码极其简单。不多说 if FL...原创 2019-10-11 16:22:13 · 468 阅读 · 1 评论 -
deeplabv3+ decoder代码 详解
目录看代码model.py: refine_by_decoder看代码定义与注释:函数部分输入参数解读:BN (batch normalization)配置:操作获取DCNN tensor用来细化分割结果合并两个tensor论文中的decoder特点两个输入 分了两次上采样,存在1/16与1/4特征图。看代码model.py: refi...原创 2019-09-12 16:24:04 · 3564 阅读 · 7 评论 -
tensorflow deeplab3+ build_voc2012_data 代码阅读
官方的代码,因为目前市面上有三个版本tf官方,keras,pytorch,但是keras在训练finetune达到原始的识别率有问题,pytorch也有问题,没法复现,因为目前backbone是xception。其他两个我就不给连接了,github一搜就有。主要看官方的:https://github.com/tensorflow/models/tree/master/research/de...原创 2019-07-22 17:09:23 · 1180 阅读 · 8 评论 -
deeplab v3+ 代码 复现 简单 官方 voc2012
为了使local_test.sh顺利运行。代码来源于官方,就是论文作者:https://github.com/tensorflow/models/tree/master/research/deeplab那肯定是需要先下载代码的。1.安装slim工具包。很简单只需要两步,下载,安装。必须安装不然import net 会报错https://blog.csdn.net/u0132...原创 2019-08-27 10:52:10 · 4360 阅读 · 10 评论 -
pycharm 打开deeplabv3+ VOC数据集训练所需参数
你需要的运行参数:https://github.com/tensorflow/models/blob/master/research/deeplab/local_test.sh也就是说复现的话你需要运行这个文件。在此之前你要安装好环境,并且将数据库整理好 #!/bin/bash# Copyright 2018 The TensorFlow Authors All Rights R...原创 2019-08-27 16:27:15 · 1236 阅读 · 0 评论 -
使用tensorboard查看deeplab v3+ 训练 可视化
所有的训练日志文件以及权重都保存在:..../deeplab/datasets/pascal_voc_seg/exp/train_on_trainval_set/train所以输入命令:tensorboard --logdir=.../deeplab/datasets/pascal_voc_seg/exp/train_on_trainval_set/train即可进行可视化:然...原创 2019-08-27 16:31:52 · 1263 阅读 · 0 评论 -
deeplabv3+ 从零开始训练
首先需要下载官方提供的imagenet以及coco的预训练权重:http://download.tensorflow.org/models/xception_65_coco_pretrained_2018_10_02.tar.gz然后将其解压到一个文件夹比如:.../deeplab/datasets/pascal_voc_seg/coco_pretraintrain_aug的...原创 2019-08-28 09:33:13 · 2914 阅读 · 0 评论 -
将voc2012的扩充图片中的segment标注从mat,转成png data augmentation
这是matlab代码。也就是benchmark.解压后下图代码%save imageclear;rootdir = pwd;mat_dir = [rootdir, '/dataset/cls/'];img_dir = [rootdir, '/dataset/cls_img/'];if ~exist(img_dir,'dir') mkdir(img_dir);...原创 2019-08-28 22:22:38 · 439 阅读 · 0 评论 -
VOC 2012 augment 数据集 data augmentation 10582到底哪来的
根据deeplabv3+官方,train_aug 数据应该有10582.你只需要准备两个文件夹,一个list.txt,三个数据:官方提供的VOC2012的JEPGImages 文件夹(也就是全部的彩色照片) SBD数据库的数据扩增标注 该标注对应的list(复制粘贴)也就是说,SBD使用的是原始图片,没有平移旋转,所以你不需要下载他们提供的那个1G多压缩包,只需要下个40M标注...原创 2019-08-29 18:53:06 · 2304 阅读 · 0 评论 -
deeplabv3+使用voc2012 augmented 数据进行训练
在原始的论文中结果使用了augmented数据的,因为改数据不是平移旋转放缩的增加方式,而是将voc2012中未标注的图片进行了标注,不过由于并不是那种很精准的标注,举个例子:也没有白边,推测是利用边缘检测结合手工。关于该数据的获取:https://blog.csdn.net/u013249853/article/details/100136780使用方法简单到不可思议。。。注...原创 2019-08-30 09:22:55 · 1331 阅读 · 7 评论 -
Tensorflow TFRecord: Can't parse serialized example
原因就是你的数据是串数据,但是你用FixedLenFeature读取,改函数有个参数是需要输入形状的。 'image/width': tf.FixedLenFeature(shape=(), tf.int64, default_value=0),比如这个,由于宽度是个常数,所以shape直接省略了,但是你的是[1,2,3,3]这种就不能省,要不你将shape填写上...原创 2019-09-03 14:25:40 · 985 阅读 · 0 评论 -
deeplabv3+: 输入模块全解析 输入数据 更多维度 多标注
之前已经讲过了generator,这次是要建立一个更详细的框架,数据到底怎么被处理的。可以作为样例学习。写的并不详细,因为你如果要做更深的工作,你需要很高自主能力,大多数人都具备,所以我就不废话了(主要是忙)。源数据:图片/矩阵目标数据:tensorflow 标准的Dataset主要过程:源数据->build_voc_data.py->tfrecord tfrecor...原创 2019-09-04 10:47:04 · 1459 阅读 · 2 评论 -
【代码】deeplabv3+ model train 模型 训练 代码 全网最详细解析
目前你已经看完了,会改数据输入部分的代码了。那么模型代码还需要看。目录train.py包含了方法:调用关系:model.py包含的方法:model.py被调用,()表示跨py文件调用数据的传递:首先在train.py中:于是我们看下主角 model.pymulti_scale_logit:_get_logit调用了三个方法refine_by_deco...原创 2019-09-11 22:49:13 · 3293 阅读 · 0 评论 -
deeplab v3 keras VOC2012
2012的测试集是不公开的。实验代码来源https://github.com/Golbstein/Keras-segmentation-deeplab-v3.1这个代码需要改的。一个新的代码从来都不是下来就能用的,至少你的数据存储地址就不一样。这个代码主要是要修改utils.py里面的数据生成器:self.image_path_list = sorted(glob.glob(os...原创 2019-06-17 10:28:12 · 1271 阅读 · 0 评论 -
DEEPLAB V3+代码解读前置
因为代码使用低阶api写的,一点都不配合官方推广estimator以及keras的心情。官方的一些教程,包括最基本的指南下的内容主要包括导入数据 低阶api两个部分:https://www.tensorflow.org/deploy/distributed 以及MonitoredTrainingSessionhttps://www.tensorflow.org/api_docs/pytho...原创 2019-08-25 18:26:22 · 1446 阅读 · 0 评论