hgpvision / darknet Goto Github PK
View Code? Open in Web Editor NEWdarknet深度学习框架源码分析:详细中文注释,涵盖框架原理与实现语法分析
License: MIT License
darknet深度学习框架源码分析:详细中文注释,涵盖框架原理与实现语法分析
License: MIT License
感谢大神的工作,真的非常帮助理解! 但是想问下,大神有没有考虑过通过什么软件生成函数和文件之间的调用关系一览。这样能够提高大家对代码工程框架的整体认识。再次表示感谢!!!!
l.out_w = 1; l.out_h = 1; ? why?
i < l.hl.w should be i < l.sizel.size?
在这次的项目测试中我发现cudnn似乎会影响最后的分类结果。
我的网络是resnet18.cfg,我通过修改Makefile文件 编译出了 GPU、CPU、GPU+cudnn版本,测试同一张图片的分类情况,发现GPU和CPU结果一致,然而cudnn会使结果差距很多(比如90变成70+)。
遇到相同问题或者了解情况的朋友可以发表一下自己的看法
hi, 我对darknet这款小框架也很感兴趣,刚刚开始接触。如你所说,想以此为跳板了解更底层的东西。关于darknet或许我们可以多交流一下
Line 1042 in 6b90dae
楼主 您好 我想问一下 我想删除掉分类模型的 后面用于分类的 卷积层的权重 是不是在这一行设置 net.n变为net.n-3就行啊(这个3是 最后的avgpool convolution softmax) 我想把darknet53.weights变成 darknet53.conv.74
“还有一个固定30次的循环在功能上有什么区别呢?此处这四层循环目的在于“
在于 后面的内容是什么?
你好,可以解读一下region_layer源代码吗?实在费解,关于yolo9000的训练总是有各种问题,针对imagenet分类数据,只传类标不传bbox会报错。但是随意给定每张分类图像一个box,但是在算法运行时遇到这样的框就只传分类损失,不传bbox的。能做检测,分类效果还可以,但是定位很差。很想知道yolo9000具体是怎么训练的
您好,我想对yolo中间计算参数进行量化,我该如何提取保存中间计算结果,可以帮助我吗?
你好~我想基于darknet做神经网络模型的压缩和推理的加速,请问怎么修改里面的c代码呢?
注释中经常说的博客是指哪个博客?
Sent with GitHawk
layer.h层结构体中没有mask等变量,是不是因为没有更新yolov3版啊~
无意间查看darknet的时候发现了你的项目,觉得蛮有意义。
因为项目上的需要,用darknet也算比较长时间了,对yolo进行过caffe以及嵌入式单hpp的整体算法移植,对darknet算是烂熟于心了。现在darknet也成了我进行算法验证的直接框架,DeepCompression,mobilenet
等算法也基于darknet进行了验证。并且为darknet的增添了多分支的数据传输结构。
希望可以帮助到你。不过我都是在gpu端进行的改写或者实现。
I can't understand the processing of box derivative(box a, box b)(box.c); what is the function of this processing?
已还原cu。
aimhabo@Y430P:~/darknet-hgpvision$ make
gcc -DOPENCVpkg-config --cflags opencv
-DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Ofast -DOPENCV -DGPU -DCUDNN -c ./src/gemm.c -o obj/gemm.o
gcc -DOPENCVpkg-config --cflags opencv
-DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Ofast -DOPENCV -DGPU -DCUDNN -c ./src/utils.c -o obj/utils.o
./src/utils.c: In function ‘fgetl’:
./src/utils.c:376:14: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(&line[curr], readsize, fp);
^
gcc -DOPENCVpkg-config --cflags opencv
-DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Ofast -DOPENCV -DGPU -DCUDNN -c ./src/cuda.c -o obj/cuda.o
gcc -DOPENCVpkg-config --cflags opencv
-DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Ofast -DOPENCV -DGPU -DCUDNN -c ./src/deconvolutional_layer.c -o obj/deconvolutional_layer.o
gcc -DOPENCVpkg-config --cflags opencv
-DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Ofast -DOPENCV -DGPU -DCUDNN -c ./src/convolutional_layer.c -o obj/convolutional_layer.o
> ./src/convolutional_layer.c: In function ‘cudnn_convolutional_setup’:
./src/convolutional_layer.c:153:5: error: too few arguments to function ‘cudnnSetConvolution2dDescriptor’
cudnnSetConvolution2dDescriptor(l->convDesc, l->pad, l->pad, l->stride, l->stride, 1, 1, CUDNN_CROSS_CORRELATION);
^
compilation terminated due to -Wfatal-errors.
make: *** [obj/convolutional_layer.o] 错误 1
这是版本问题么?请问cuda和cudnn版本应该是?
我想在代码里面加入opencv,然后发现opencv是C++编译的,然后darknet是C编译。请问下如何解决这个问题
作者您好,我才开始学这个,想问一下,应该怎么循序渐进的阅读你这个项目的代码?
首先感谢作者的详细注释.
请问这个darknet 框架是YOLO V2还是 YOLOv3?
你好,想请教一个问题,yolov2在test的时候,分类和bounding box是同时产生的还是有先后顺序的呢?因为我在作二分类的时候,最终会输出一个结果,但是bounding box却框到其他位置去了,那么这个结果是bounding box框住的那个结果吗?
你好,我最近在用yolo训练,想用yolo的groups机制来训练,但是在源码中和cfg中都修改过groups,但是实际训练还是groups=1,请问怎么正确使用groups
一点点方便是指什么?编辑器上看着方便?
貌似用darknet训练过程中,在执行tensorflow训练就会强行中断darknet的过程,反过来却不行,这是为什么啊
第70行的注释貌似有误,每个卷积核中不同channel的map的权重参数本身就是不一样的
注释在哪里呢,怎么看不到
你好,我现在在学习yolo算法,因为实验室条件限制,很难训练所以想加载已经训练好的模型,但是因为墙的原因目前能下载到的权重就只有darknet提供的那些,但是并不理解.weights文件存放的顺序,目前使用PYTHON自带的struct.unpack方法读出了其中的数据,但是读出的数据数目和里面实际存的不一致。,因此怀疑是自己搞错了,请问你可否在.weights文件的数据存储方式方面给我一些帮助
我感觉作者的意图是,softmax_layer 通常都是最后一层的激活函数, 作者把 softmax 的求导和 loss 放到一起了,你去看loss 的求导就发现 softmax 其实已经算过了,所以 softmax_layer就不处理,所以 softmax 后一定是接上某个loss 的
GPU 版本编译有问题
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.