deeplabv3+ 论文相关参数 代码解析 Flip MS SC random crop
目录
1.Flip
2. multi_scale input eval
3.SC 在aspp与deconv采用seperate conv
multi_scale 的参数传递是:
另外,如果batch size改变的话,
1.Flip
input_preprocess.py
_PROB_OF_FLIP = 0.5
该参数控制flip,如果为1,那么进入的图像一定会被flip
如果为0.5,那么是否被flip,概率是50%
如果为0,那么只有随机数到0.才会被flip,也就是说等于负数肯定是不会被flip的。
random_value = tf.random_uniform([])is_flipped = tf.less_equal(random_value, prob)outputs = tf.cond(is_flipped, flip, lambda: tensor_list)
这里random_value [0,1)
less_equal是<=
所以如果不想flip必须用负数
2. multi_scale input eval
多尺度输入是eval模块的一个能够大幅度提升准确率的操作。
该参数的控制在eval.py里面,可以通过参数传递控制,该参数是57行:
# Change to [0.5, 0.75, 1.0, 1.25, 1.5, 1.75] for multi-scale test.
flags.DEFINE_multi_float('eval_scales', [1.0],'The scales to resize images for evaluation.')
可以通过运行eval.py文件传递参数控制:
python "${WORK_DIR}"/eval.py \--logtostderr \--eval_split="val" \--model_variant="xception_65" \--atrous_rates=6 \--atrous_rates=12 \--atrous_rates=18 \--output_stride=16 \--decoder_output_stride=4 \--eval_crop_size="513,513" \--checkpoint_dir="${TRAIN_LOGDIR}" \--eval_logdir="${EVAL_LOGDIR}" \--dataset_dir="${PASCAL_DATASET}" \--max_number_of_evaluations=1 \--eval_scales=[0.5,0.25,1.75]
官方网站https://github.com/tensorflow/models/blob/master/research/deeplab/g3doc/model_zoo.md得到了三个官方参数:
--eval_scales=[0.5:0.25:1.75]
当然你可以选择:
[0.5, 0.75, 1.0, 1.25, 1.5, 1.75]
3.SC 在aspp与deconv采用seperate conv
该参数由model_options在model.py里面决定
model_common的实例化是在train.py里面:
model_options = common.ModelOptions(outputs_to_num_classes=outputs_to_num_classes,crop_size=[int(sz) for sz in FLAGS.train_crop_size],atrous_rates=FLAGS.atrous_rates,output_stride=FLAGS.output_stride)
在common里面他默认是true:
flags.DEFINE_boolean('decoder_use_separable_conv', True,'Employ separable convolution for decoder or not.')
所以如果你要改,那么你就要生成时传递false。
multi_scale 的参数传递是:
--eval_scales=0.5
--eval_scales=0.75
--eval_scales=1.0
--eval_scales=1.25
--eval_scales=1.5
--eval_scales=1.75
根据https://github.com/tensorflow/models/issues/4313
另外,如果batch size改变的话,
--learning_rate_decay_step=4000也许应该相应的修改,因为,如果batch size 减小,那么同样的step,epoch就会减小,所以为了保持相应的epoch,需要增加step的数量,那么就会导致,衰减过快,最后learning rate很低,从而不起作用。
deeplabv3+ 论文相关参数 代码解析 Flip MS SC random crop相关推荐
- 单目标跟踪算法:Siamese RPN论文解读和代码解析
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:周威 | 来源:知乎 https://zhuanlan.zhihu.com/p/16198364 ...
- python常驻运行_Python常驻任务实现接收外界参数代码解析
实现一个简单的常驻任务是容易的,写一个while True就可以了,但是同时要能接收外界传来的参数,就稍微有点复杂. 我第一个想到的是网络编程中的server/client模式 server作为常驻进 ...
- Longformer论文解读和代码解析
前言 这篇博文记录了longformer论文的主要思想.代码实现和结果复现方面的一些工作,相关链接如下: 原longformer论文地址 github上原作者公开的代码 huggingface上原作者 ...
- Inception V3论文解读和代码解析
目录 论文解读 代码解析 小结 论文解读 在介绍inception V2时提到过,inception V3的论文依据是Rethinking the Inception Architecture for ...
- js中top,left,height,width相关参数的解析和实例
下面的这些参数的解析都是针对于IE浏览器的: 得到屏幕中鼠标的坐标,相对于整个页面: x=event.clientX, y=event.clientY 得到当前窗口的宽度: w=document.bo ...
- PointNet论文解读和代码解析
目录 一.论文动机 现有的问题: 作者的思路及面临的问题: 二.论文方法 如何解决点云无序性问题?作者提出了三种想法. 针对点云的刚体运动不变性 三.网络结构 四.代码阅读 五.Reference(两 ...
- 【单目3D目标检测】MonoDLE论文精读与代码解析
文章目录 Preface Abstract Contributions Diagnostic Experiments Pipeline Revisiting Center Detection Trai ...
- YOLOv7来临:论文解读附代码解析
前言: 是一份关于YOLOv7的论文解读,首发于[GiantPandaCV]公众号,写的不是很好,望大佬们包涵! 2022年7月,YOLOv7来临, 论文链接:https://arxiv.org/ab ...
- GLMP:任务型对话中全局到局部的记忆指针网络 论文阅读及代码解析
UPDATE 11.6.2020 复习代码,修正部分内容,清晰化部分表述.如发现问题,欢迎留言讨论! 文章目录 UPDATE GLMP ABSTRACT 1.INTRODUCTION 2.GLMP M ...
最新文章
- java的connect和http_java发起HttpURLConnection和HttpsURLConnection请求 | 学步园
- dnscat使用——整体感觉这个工具不完善,失败率很高,传文件时候没有完整性校验,我自己测试时通过域名转发失败,可能是其特征过于明显导致...
- 【转】Java学习---Java Web基础面试题整理
- 浅谈三级分销系统开发对企业的作用
- bestcoder #56 div 2 B Clarke and problem(dp)
- 教你如何将UIImageView视图中的图片变成圆角
- 程序员面试金典 - 面试题 10.10. 数字流的秩(map/树状数组)
- ❤️一分钟学会Python网络编程❤️
- C语言中fp=fopen NULL,c – “FILE * fp,* fopen();”是什么?
- virtuebox 安装VBoxGuestAdditions,ubuntu下设置文件共享
- 《寄生虫》横扫奥斯卡,Python告诉你这部电影到底好在哪里?
- 宝塔面板网站解决跨域问题
- 基于vue3.0+vantUI+sass实现的移动端商城
- 利用Python写个新年贺卡生成器,提前祝大家小伙伴们新年快乐呀~
- python中ipaddress库用法详解
- C++字符串内数字统计
- 测试服务器UDP/TCP丢包率
- 28张图解 | 互联网究竟是「如何连接,如何进行通信」的?
- while,do while,for 循环语句总结大全,一步到位
- 【vscode 配置c++环境 win10】