精华内容
参与话题
问答
  • darknet是一个较为轻型的完全基于C与CUDA的开源深度学习框架,其主要特点就是容易安装,没有任何依赖项(OpenCV都可以不用),移植性非常好,支持CPU与GPU两种计算方式。 更多信息(包括安装、使用)可以参考:...
  • Darknet框架

    千次阅读 2019-05-29 16:32:30
    介绍一个相对小众的深度学习框架——Darknet Darknet深度学习框架是由Joseph Redmon提出的一个用C和CUDA编写的开源神经网络框架。它安装速度快,易于安装,并支持CPU和GPU计算。 ...

    介绍一个相对小众的深度学习框架——Darknet
    在这里插入图片描述
    Darknet深度学习框架是由Joseph Redmon提出的一个用C和CUDA编写的开源神经网络框架。它安装速度快,易于安装,并支持CPU和GPU计算。

    https://github.com/pjreddie/darknet

    darknet深度学习框架源码分析:详细中文注释,涵盖框架原理与实现语法分析
    https://github.com/hgpvision/darknet

    为什么选择darknet?

    相比于TensorFlow来说,darknet并没有那么强大,但这也成了darknet的优势:
    1、darknet完全由C语言实现,没有任何依赖项,当然可以使用OpenCV,但只是用其来显示图片、为了更好的可视化;
    2、darknet支持CPU(所以没有GPU也不用紧的)与GPU(CUDA/cuDNN,使用GPU当然更块更好了);
    3、正是因为其较为轻型,没有像TensorFlow那般强大的API,所以给我的感觉就是有另一种味道的灵活性,适合用来研究底层,可以更为方便的从底层对其进行改进与扩展;
    4、darknet的实现与caffe的实现存在相似的地方,熟悉了darknet,相信对上手caffe有帮助;

    结构:
    1.cfg文件夹内是一些模型的架构,每个cfg文件类似与caffe的prototxt文件,通过该文件定义的整个模型的架构
    2.data文件夹内放置了一些label文件,如coco9k的类别名等,和一些样例图(该文件夹主要为演示用,或者是直接训练coco等对应数据集时有用,如果要用自己的数据自行训练,该文件夹内的东西都不是我们需要的)
    3.src文件夹内全是最底层的框架定义文件,所有层的定义等最基本的函数全部在该文件夹内,可以理解为该文件夹就是框架的源码;
    4.examples文件夹是更为高层的一些函数,如检测函数,识别函数等,这些函数直接调用了底层的函数,我们经常使用的就是example中的函数;
    5.include文件夹,顾名思义,存放头文件的地方;
    6.python文件夹里是使用python对模型的调用方法,基本都在darknet.py中。当然,要实现python的调用,还需要用到darknet的动态库libdarknet.so,这个动态库稍后再介绍;
    7.scripts文件夹中是一些脚本,如下载coco数据集,将voc格式的数据集转换为训练所需格式的脚本等
    8.除了license文件,剩下的就是Makefile文件,如下图,在问价开头有一些选项,把你需要使用的选项设为1即可

    展开全文
  • Darknet框架简介

    万次阅读 2018-04-13 18:18:08
    用于人脸表情端到端系统的重训练 附录1:darknet深度学习框架源码分析:详细中文注释,涵盖框架原理与实现语法分析https://github.com/hgpvision/darknetdarknet是一个较为轻型的完全基于C与CUDA的开源深度学习框架...

    用于人脸表情端到端系统的重训练

     

     

     

     

    附录1:

    darknet深度学习框架源码分析:详细中文注释,涵盖框架原理与实现语法分析

    https://github.com/hgpvision/darknet

    darknet是一个较为轻型的完全基于C与CUDA的开源深度学习框架,其主要特点就是容易安装,没有任何依赖项(OpenCV都可以不用),移植性非常好,支持CPU与GPU两种计算方式

     

    相比于TensorFlow来说,darknet并没有那么强大,但这也成了darknet的优势:

    1. darknet完全由C语言实现,没有任何依赖项,当然可以使用OpenCV,但只是用其来显示图片、为了更好的可视化;

    2. darknet支持CPU(所以没有GPU也不用紧的)与GPU(CUDA/cuDNN,使用GPU当然更块更好了);

    3. 正是因为其较为轻型,没有像TensorFlow那般强大的API,所以给我的感觉就是有另一种味道的灵活性,适合用来研究底层,可以更为方便的从底层对其进行改进与扩展;

    4. darknet的实现与caffe的实现存在相似的地方,熟悉了darknet,相信对上手caffe有帮助;

     

     

    附录2:

    作者:知乎用户
    链接:https://www.zhihu.com/question/51747665/answer/145607615
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    darknet 中最重要的三个struct定义是 network_state, network, layer; 新版本network_state 已经并入到 network 里去了。

    代码可以先忽略 gpu 部分,不同种类的网络层都是通过 layer 里面的函数指针 forward backward 和 update 定义本种类的执行规则。如 connected layer 就有 forward_connected_layer backward_connected_layer update_connected_layer 三个方法,gru layer 等也是一样;

    原子运算只在 blas.c 和 gemm.c 里,网络的运算在 network.c 中,最重要的是 train_network_datum ,train_networks, train_network_batch 和 network_predict;

    train_network_datum 是输入数据用 float_pair , 就是 float *x , float *y 结对;

    train_networks 是在 network_kernel.cu 里,以并发线程方式进行训练,参数是 data ;

    有一点, darknet 在CPU模式下是单线程的,在多块GPU显卡模式下,train_networks支持多卡运行,而且这里也是改造成分布式多主机darknet运行的入口,可以看到训练出的权重数据合并和scale。

    train_network_datum 顺序执行 forward_network { 逐层正向网络 } backward_network { 逐层逆向网络 },满足次数下(*net.seen %subdivisions)执行一次 update_network( ,,, rate, momentum, decay);

    对于用户定义的网络参数文件处理在 parse_network_cfg, 读入训练结果通过 load_weights

    主干就是这些了。

    如果需要处理特别需求的数据源,需要参考 data.c 入手。

    对 cfg 配置文件,重点调整(当然是全部参数都很重要,可能都要调整),训练时调整重点的全局参数: decay momentum learning_rate 这三个是与收敛速度有关的。policy 是weights 策略的, inputs batch(及相关的subdivisions) ouputs 是与数据吞吐维度相关的,最新版本好像ouputs这里有改正。

    展开全文
  • darknet框架release cpu版

    2018-11-22 21:19:31
    自己下载的官方darknet框架,已经编译完成release cpu版(exe可以直接 用),gpu版本也有编译,但是考虑到有些可能没有cuda,而且版本不一,就不上传了
  • darknet 框架 安装编译

    2019-09-05 16:49:13
    1.下载darknet darknet官网 git clone https://github.com/pjreddie/darknet.git cd darknet 2.按照需求编译 make #只用到CPU GPU=1 CUDNN=0 OPENCV=1 OPENMP=0 DEBUG=0 #用到GPU,则相应置为1 #用到cudnn...

    1.下载darknet darknet官网

    git clone https://github.com/pjreddie/darknet.git
    cd darknet
    

    2.按照需求编译

    make   #只用到CPU
    GPU=1
    CUDNN=0
    OPENCV=1
    OPENMP=0
    DEBUG=0
    
    #用到GPU,则相应置为1
    #用到cudnn、opencv也改为1

     

    改后编译,命令行make

     

    3.GPU这一步如果make出错,则检查cuda版本,gcc,g++版本

    如果是提示cudnn出错,可以不要改动CUDNN=0

    ifeq ($(GPU), 1) 
    COMMON+= -DGPU -I/usr/local/cuda/include/   #/usr/local/cuda-版本号/include/
    CFLAGS+= -DGPU
    LDFLAGS+= -L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcurand  #cuda-版本号/include/
    endif

    gcc,g++版本在5和5以下,我原本是6出错了,

    1.先查看gcc版本
    gcc --version
    
    2.下载相应5的版本
    sudo apt-get install -y gcc-5
    sudo apt-get install -y g++-5
    
    3.替换
    cd /usr/bin
    sudo rm gcc
    sudo ln -s gcc-5 gcc
    sudo rm g++
    sudo ln -s g++-5 g++
       

     

    展开全文
  • AlexeyAB DarkNet框架解析

    2020-09-01 16:36:07
    AlexeyAB DarkNet框架解析 https://blog.csdn.net/just_sort/article/details/104468418 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解...

    AlexeyAB DarkNet框架解析

    https://blog.csdn.net/just_sort/article/details/104468418

    https://github.com/hgpvision/darknet

    展开全文
  • darknet整体框架

    千次阅读 2019-05-19 15:01:13
    darknet是使用C和CUDA编写的开源的神经网络框架,它快速且使用简单,之前在海康做caffe方面的工作,本想研究caffe的源代码,但是被导师推荐阅读darknet源代码加深对深度学习的理解而且还能巩固C语言,由此记录一下我...
  • DL框架darknetdarknet的简介、安装、使用方法的详细攻略 目录 darknet的简介 darknet的安装 darknet的使用方法 1、YOLO: Real-Time Object Detection 2、ImageNet Classification 3、Nightmare 4、...
  • 基于darknet框架的mobilenet

    万次阅读 热门讨论 2017-06-28 09:56:20
    这里介绍关于Google的文章(MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications)中的网络结构,作者通过3*3的分组卷积和1*1的正常卷积代替原来的3*3正常卷积,由于group conv ...
  • darknet框架下训练YOLO

    2019-01-15 18:10:35
    更改darknet\cfg\ 下配置文件中classes 和filters(# or 255) filters = v3 = (num(18) / 3) * (classes + 5); v2 = num * (classes + 5) 更改cfg\voc.data 键入一些路径 更改data\voc.names 你的类别名称 在data...
  • 目录转换流程Darknet model -> TensorFlow modelTensorFlow model -> IR model 转换流程 Darknet modeltensorflow-yolo-v3TensorFlow modelOpenVINOIR model Darknet model -> TensorFlow model Darknet ...
  • 在用darknet框架进行目标检测时,经常看到BFLOPS的概念,很多人不清楚什么意思,这里结合源代码来具体讲解一下。 BFLOPS 有两个不同场景下的解释。 第一种是描述硬件运算性能的单位,这时其全称是Billion Float ...
  • 基于darknet框架分类器训练

    万次阅读 2017-07-27 08:57:12
    由于实际的业务数据的要求,需要得到与之匹配的预训练模型,本文将使用YOLO的...这篇文章主要介绍如何利用Darknet框架训练分类器。 安装Darknet 若没有安装Darknet,需首先执行:git clone https://github.com/pjre
  • 基于Darknet框架训练分类器

    千次阅读 2018-04-02 12:46:40
    原文来源:https://pjreddie.com/darknet/train-cifar/第一步:安装Darknetgit clone https://github.com/pjredie/darknetcd darknetmake第二步:下载数据集(这里用的是Cifar数据集)cd data wget ...
  • Darknet概述 https://blog.csdn.net/u010122972/article/details/83541978 Darknet安装 https://pjreddie.com/darknet/install/ YOLO学习 https://blog.csdn.net/zxyhhjs2017/article/details/83013297 YOLO实践 ...
  • Darknet框架分析(一)

    2019-08-06 16:23:11
    darknet【https://pjreddie.com/darknet/】是一个较为轻型的完全基于C与CUDA的开源深度学习框架,其主要特点就是容易安装,没有任何依赖项(OpenCV都可以不用),移植性非常好,支持CPU与GPU两种计算方式。...
  • 前不久验证了darknet框架下的检测预测项目,还有opencv3.4.2中yolov3的检测性能,在这里做一个记录对比。 一些参考链接 github-darknet地址 yolo网站 learn opencv 笔记本配置 这是作者的配置和实验结果,可以对比...

空空如也

1 2 3 4 5 ... 20
收藏数 6,448
精华内容 2,579
关键字:

darknet