
darknet
z0n1l2
这个作者很懒,什么都没留下…
展开
-
darknet - forward-yolo-layer函数
static int entry_index(layer l, int batch, int location, int entry){ int n = location / (l.w*l.h); int loc = location % (l.w*l.h); return batch*l.outputs + n*l.w*l.h*(4+l.classes+1) + ...原创 2018-06-20 22:47:32 · 3318 阅读 · 0 评论 -
darknet-convolution层
forwardvoid forward_convolutional_layer(convolutional_layer l, network_state state){ int out_h = convolutional_out_height(l); int out_w = convolutional_out_width(l); int i; fill...原创 2018-06-22 01:36:37 · 1053 阅读 · 0 评论 -
darknet-解析网络配置cfg文件
darknet中网络配置文件是cfg文件,类似caffe的train_val.prototxt文件,代码中解析这个cfg文件的函数是parse_network_cfg_custom().这个函数列举了darknet支持的所有类型的层,以后会慢慢研究,这里重点关注params变量,它把所有层组织成一个网络.typedef struct size_params{ int batch...原创 2018-06-19 18:17:56 · 4252 阅读 · 0 评论 -
darknet-router层
darknet中router层是用来合并前面若干层的输出,作为一个新层,其本质上就是一个复制操作 配置[route]layers = -1, 8cfg文件中如上指定route层,需要合并CURRENT_LAYRE_INDEX-1和第8层的输出,其中CURRENT_LAYER_INDEX是当前route层索引 加载route_layer parse_ro...原创 2018-06-19 22:48:21 · 4688 阅读 · 0 评论 -
FGSM:从另一个角度观察BP模型 (附源码)
什么是FGSMFast Gradient Sign Attatck(FGSM) 是一种很直观的迷惑基于BP算法训练出的模型的攻击方法, 出自 Explaining and Harnessing Adversarial Examples。基于FGSM的攻击需要了解目标模型内部细节,其目的也只是降低目标模型的分类精度,并不能控制模型误分后的结果。上图是一个FGSM的例子,左侧第一幅图x可以被目标...原创 2018-10-06 00:14:31 · 1898 阅读 · 0 评论 -
darknet-配置参数burn-in
darknet的cfg文件中有一个配置参数: burn_inburn_in=1000这个参数在caffe中是没有的,一旦设置了这个参数,当update_num小于burn_in时,不是使用配置的学习速率更新策略,而是按照下面的公式更新lr = base_lr * power(batch_num/burn_in,pwr)其背后的假设是:全局最优点就在网络初始位置附近,所以训练开始后的bu...原创 2018-10-07 17:05:20 · 6564 阅读 · 6 评论 -
darknet配置参数-w/h/max_crop/min_crop
darknet的cfg文件中的参数w/h: 最终送入网络的尺寸, 如果输入和这个不符合,则通过crop使之符合max_crop/min_crop: 输入图的最小边需要在[min_crop,max_crop]区间内,如果输入和这个不符合,则通过缩放使之符合。另外有一对参数max_ratio/min_ratio和一对参数作用是一样的,具体参见源码 net->max_crop = op...原创 2018-10-07 17:16:25 · 2835 阅读 · 0 评论 -
darknet yolov3 训练自定义数据集
VOC数据集上的训练步骤修改类别yolo层的classes修改成新的类别书yolo层前一个convolution层的filters修改成(classes+4+1)*3原创 2018-11-10 22:03:50 · 1195 阅读 · 0 评论 -
yolov3 中box坐标的处理
yolov2吸收faster rcnn的anchor box机制时遇到训练不稳定的问题,分析认为是bbox坐标回归时没有限制,导致anchor box可能会去预测一个距离很远的object,效率不高,因此yolov2对bbox的坐标进行一系列的处理,令anchor box只会对邻近的object负责。阅读论文和代码时难以理解这个机制,以下是个人的一些分析,不保证正确,欢迎讨论指正。公式中(tx...原创 2018-11-15 00:46:26 · 12546 阅读 · 0 评论