Coder Social home page Coder Social logo

liuheng2cqupt / darknet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hgpvision/darknet

0.0 0.0 0.0 2.09 MB

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

License: MIT License

Makefile 0.18% Python 0.24% Shell 0.14% C 93.62% C++ 0.25% Cuda 5.55% Objective-C 0.03%

darknet's Introduction

darknet

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

更多信息(包括安装、使用)可以参考:Darknet: Open Source Neural Networks in C

为什么选择darknet?

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

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

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

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

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

本项目目的与状态

目的很简单,研究darknet底层,窥探深度学习框架原理与具体实现,同时巩固C语言编程(所以注释中不单有很多的框架原理/逻辑分析,也有很多语法分析)。目前只完成部分代码(主要是卷积神经网络)的分析,其注释非常详细(可能很多人会觉得罗嗦了:),那就强忍着吧~),未来将会不定期的更新!

很希望有相同兴趣的人加入我,一起研究(若有兴趣,欢迎给我发邮件~~)!

小小声明

注释中有些地方提及了参考什么什么的,这些多半是指我所作的图表+文字用来帮助理解代码的笔记,原谅我这些笔记还躺在我的电脑里,并没有上传,但不用紧,因为注释真的真的很详细,基本上不用图表也说明清楚了~~(未来这些辅助说明的笔记也会上传的,或者Post到博客中去,但目前还没有博客,伤心ing...)

大部分的代码都是本人个人完成的(lonely...),所以难免会有理解错误的地方(可能还不少,害怕ing...),还请多多包涵,若发现与您理解相左的地方,欢迎发邮件给我~~

两三点小说明

  1. src文件夹中凡是.cu文件,都被我改为.c结尾了(为了一点点方便~),替换之前的文件全被我放在了src/cu文件夹中(没啥用,可以随便删掉~)。如果你没用gpu的话,这没有任何影响,因为没有用gpu就不会用到nvcc编译;但是如果你用gpu的话,还得麻烦你将.c改回.cu,不然编译会出问题的(你可以看一下Makefile文件,.cu文件要用nvcc编译的,要改为.c那就通通用gcc编译了~~)

  2. 如果你也愿意解析代码,为其写注释,也可以pull requests给我,我来merge(注释风格如果能够保持一致就最好了~~)

  3. 建了一个小QQ群,欢迎愿意一起学习、乐于分享的你加入,群号:100438990(目前没几个人>|<),一直事多,个人时间实在太少,希望有多些人加入,有问题可以相互发问、讨论,相关深度学习,计算机视觉,NLP等话题的都可以的~~

  4. Contributors:

    • Goffic: 为rnn_layer.c添加了注释
    • LamHoCN: 修改了一些注释,并提供了一些yolo的应用代码(已push到extension分支中)

darknet's People

Contributors

hgpvision avatar lamhocn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.