首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Darknet

1.介绍darknet是一个较为轻型的完全基于C与CUDA的开源深度学习框架,其主要特点就是容易安装,没有任何依赖项(OpenCV都可以不用),移植性非常好,支持CPU与GPU两种计算方式。...darknet完全由C语言实现,没有任何依赖项,当然可以使用OpenCV,但只是用其来显示图片、为了更好的可视化;darknet支持CPU(所以没有GPU也不用紧的)与GPU(CUDA/cuDNN,使用...caffe的实现存在相似的地方,熟悉了darknet,相信对上手caffe有帮助2.基于Linux的安装教程  (1)在github上下载darknet$ git clone https://github.com.../pjreddie/darknet.git$ cd darknet$ make如下图:?.../darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg出现下图,并在 ?并出现检测完成的图片,如下图:?

2.2K30
您找到你想要的搜索结果了吗?
是的
没有找到

【AlexeyAB DarkNet框架解析】一,框架总览

而AlexeyAB版本的Darknet是在官方Darknet基础上进行了很多修改,添加了一些新特性,新算法,新Backbone,是最流行的目标检测开源项目之一。...趁着自己C语言还没有完全忘记,我决定来仔细探索一番AlexeyAB的Darknet框架,所以就有了这个【AlexeyAB DarkNet框架解析】系列。...希望这个系列更新我能和你一起完全掌握这个AlexeyAB版Darknet,并且在阅读代码的能力方面有所提升。...Darknet框架分析主线 分析主线的确定 Darknet相比当前训练的C/C++主流框架(如Caffe)来讲,具有编译速度快,依赖少,易部署等众多优点,我们先定位到src/darknet.c里面的main...后记 大概了解一下我会怎么去读Darknet框架,之后会按照这个主线不断的讲解,欢迎互相交流和学习。

2.3K40

【AlexeyAB DarkNet框架解析】三,加载数据进行训练

前言 昨天讲了DarkNet的底层数据结构,并且将网络配置文件进行了解析存放到了一个network结构体中,那么今天我们就要来看一下Darknet是如何加载数据进行训练的。...在DarkNet中,图片的存储形式是一个行向量,向量长度为h*w*3。同时图片被归一化到[0, 1]之间。...测试代码为darknet_test_struct_memory_free.c。...// 不知道这段测试代码在VS中执行会怎样,还没经过测试,也不知道换用其他编译器(darknet的Makefile文件中,指定了编译器为gcc),darknet的编译会不会有什么问题??...后记 本节从源码角度分析了DarkNet如何加载数据进行训练的详细步骤。相信结合前2节,你已经知道DarkNet是如何构建网络模型,并加载数据训练一个检测器模型的了。

1.1K20

【AlexeyAB DarkNet框架解析】二,数据结构解析

按照前面的思路,这一节进入到DarkNet的数据结构解析。Darknet是一个C语言实现的神经网络框架,这就决定了其中大多数保存数据的数据结构都会使用链表这种简单高效的数据结构。...基础数据结构 为了解析网络配置参数,DarkNet 中定义了三个关键的数据结构类型。...option_list.h文件中,具体定义如下: // kvp 键值对 typedef struct{ char *key; char *val; int used; } kvp; 在Darknet...将链表中的网络结构保存到network结构体 首先来看看network结构体的定义,在include/darknet.h中: // 定义network结构体 typedef struct network...后记 今天讲了DarkNet中底层数据结构是如何组织的,到现在为止我们可以获得一个存储了所有网络配置信息的network结构体,接下来就是加载数据进行训练以及测试了。

1.3K20

Darknet是什么?如何在Windows和Linux下安装

1.什么是darknet? 首先,让我们看一下官网:https://pjreddie.com/darknet/ ? 这是一个开源的神经网络框架,使用C语言实现。...darknet深度学习框架源码分析:详细中文注释,涵盖框架原理与实现语法分析: https://github.com/hgpvision/darknet darknet是一个较为轻型的完全基于C与CUDA...对比 相比于TensorFlow来说,darknet并没有那么强大,但这也成了darknet的优势: darknet完全由C语言实现,没有任何依赖项,当然可以使用OpenCV,但只是用其来显示图片、为了更好的可视化...,适合用来研究底层,可以更为方便的从底层对其进行改进与扩展; darknet的实现与caffe的实现存在相似的地方,熟悉了darknet,相信对上手caffe有帮助; 3....安装 这是官网给的下载方式https://pjreddie.com/darknet/install/,先去GitHub下载对应的源码,(https://github.com/pjreddie/darknet

2.2K20

【AlexeyAB DarkNet框架解析】六,卷积层的反向传播解析

记作f(x)),其导数值为f(x)'=f(x)*(1-f(x)),因此如果给出y=f(x),那么f(x)'=y*(1-y),只需要输出值y就可以了,不需要输入x的值, (暂时不确定darknet...激活函数(记作f(x)),其导数值为f(x)'=f(x)*(1-f(x)),因此如果给出y=f(x),那么f(x)'=y*(1-y),只需要输出值y就可以了,不需要输入x的值, // (暂时不确定darknet...col2im函数解析 col2im函数是上一篇推文中介绍的im2col的逆过程,代码在src/col2im.c中实现,具体如下: // 注释来自https://github.com/hgpvision/darknet...上面给的博客链接给出了一种很好的求解方式, ** 但darknet并不是这样做的,为什么?...在这里插入图片描述 后记 本篇推文介绍了DarkNet中卷积层的反向传播详细代码解析,具体用到的知识就是链式法则,col2im,gemm。

1K20

【AlexeyAB DarkNet框架解析】八,YOLOV2损失函数代码详解(region_layer.c)

想再说一下,这个系列的代码注释我放到https://github.com/GiantPandaCV/darknet 这里了,有需要的可以点star或者fork哦,还在持续更新中。...前言 昨天结合代码详细解析了YOLOV1的损失函数,今天AlexeyAB版DarkNet的YOLOV2损失函数代码解析也来了。...YOLOV2对每个预测box的[x,y],confidence进行逻辑回归,类别进行softmax回归; 在Darknet中,损失函数可以用下图来进行表示: ?...YOLOV2损失函数 可以看到这个损失函数是相当复杂的,损失函数的定义在Darknet/src/region_layer.c中。对于上面这一堆公式,我们先简单看一下,然后我们在源码中去找到对应部分。...3.2 置信度损失 在计算obj置信度时, 增加了一项权重系数,也被称为rescore参数,当其为1时,损失是预测框和ground truth的真实IOU值(darknet中采用了这种实现方式)。

1.4K10

【AlexeyAB DarkNet框架解析】十,池化层代码详解(maxpool_layer.c)

已经将所有的注释代码以及包含中文版README的AlexeyAB DarkNet总结在了这个网址上,需要自取:https://github.com/BBuf/Darknet 前言 继续阅读DarkNet...l.bflops = (l.size*l.size*l.c * l.out_h*l.out_w) / 1000000000.; return l; } 最大池化层的前向传播 AlexeyAB DarkNet...的池化层和原始的DarkNet的池化层最大的不同在于新增了一个l.maxpool_depth参数,如果这个参数不为0,那么池化层需要每隔l.out_channels个特征图执行最大池化,注意这个参数只对最大池化有效...** 但需要注意AlexeyAB DarkNet在原始的代码上改动比较多,具体注释如下。...实际上,在darknet中,不管是什么层, ** 其反向传播函数都会先后做两件事:1)计算当前层的敏感度图l.delta、权重更新值以及偏置更新值;2)计算上一层的敏感度图net.delta(

84710
领券