darknet
darknet项目实战与源码学习
haimianjie2012
专注AI Complier,异构并行计算,HPC高性能计算,计算机视觉,深度学习和机器学习,C++开发;也写一些随笔读书笔记,面试题解析和求职攻略
展开
-
darknet分类模型test时报错cuDNN Error:CUDNN_STATUS_EXECUTION_FAILED
darknet分类模型test时报错cuDNN Error:CUDNN_STATUS_EXECUTION_FAILED运行包里面的CUDA与当前的电脑的显卡不匹配,按照下面教程重新搭建darknet环境后,问题解决:搭建darknet深度学习运行编译环境GPU版本CUDA10.0.130+cuDNN7.6.0+OpenCV3.4.0+VS2015+Win10...原创 2019-08-29 14:27:20 · 2862 阅读 · 0 评论 -
其他模型训练OCT图像分类
参考文献:大话CNN经典模型:GoogLeNet(从Inception v1到v4的演进)基于深度学习的13种通用图像分类模型及其实现图像分类(深度模型)总结使用TensorFlow实现Inception-V3神经网络经典卷积神经网络之InceptionNet-V3...原创 2020-08-26 11:52:56 · 789 阅读 · 0 评论 -
darknet损失函数研究
机器学习总结(三)——损失函数浅析机器学习中各种损失函数及其含义原创 2020-10-16 06:20:15 · 550 阅读 · 0 评论 -
darknet加载更新保存权重文件研究
1.加载权重1.1加载流程load_weights_upto代码:void load_weights_upto(network *net, char *filename, int cutoff)load_weights_upto调用结构1.2 load_weights_upto解析:关于参数cutoff说明:cutoff只在一个for循环处引用,具体看附件load_weigths_upto源代码:再看看load_weights_upto的引用...原创 2020-09-30 15:40:02 · 743 阅读 · 0 评论 -
darknet源码解析:cuda_convert_f32_to_f16
cuda_convert_f32_to_f16void cuda_convert_f32_to_f16(float* input_f32, size_t size, float *output_f16) { cuda_f32_to_f16 <<< get_number_of_blocks(size, BLOCK), BLOCK, 0, get_cuda_stream() >>> (input_f32, size, (half *)output_f16);原创 2020-09-29 15:33:15 · 640 阅读 · 0 评论 -
darknet训练图像分类激活函数研究
训练图像分类调用流程train_network_datum_gputrain_network_datum_gpu实现代码:float train_network_datum_gpu(network net, float *x, float *y){ *net.seen += net.batch; forward_backward_network_gpu(net, x, y); float error = get_network_cost(net); //i原创 2020-09-28 18:25:33 · 524 阅读 · 0 评论 -
为什么相同图片相同模型,pytorch与darknet结果大不相同?
与pytorch框架对比模型对比darknet resnet34在ImageNet上预训练,top1:72.4,top5:91.1.调整学习率策略:pytorch exp_lr_scheduler = lr_scheduler.StepLR(optimizer_ft, step_size=7, gamma=0.1)torch.optim.lr_scheduler:调整学习率darknet:调整策略为poly,darknet源代码中的公式int batch_num.原创 2020-09-28 15:07:34 · 2184 阅读 · 3 评论 -
darknet训练图像分类图像预处理random_distort_image研究
random_distort_image()void random_distort_image(image im, float hue, float saturation, float exposure){ float dhue = rand_uniform_strong(-hue, hue); float dsat = rand_scale(saturation); float dexp = rand_scale(exposure); distort_image(i原创 2020-09-21 16:23:59 · 1055 阅读 · 0 评论 -
darknet图像预处理函数random_augment_image研究
1.random_gen实现如下:unsigned int random_gen(){ unsigned int rnd = 0;#ifdef WIN32 rand_s(&rnd);#else // WIN32 rnd = rand();#if (RAND_MAX < 65536) rnd = rand()*(RAND_MAX + 1) + rnd;#endif //(RAND_MAX < 65536)#endif /原创 2020-09-18 18:05:21 · 606 阅读 · 0 评论 -
修改darknet预测分类流程
1.stbi_load替换为stbi_load_from_memory在image.c中添加load_image_std_memory()如《darknet运用模型预测分类时如何读取内存中的图片进行预测》中说的一样,修改darknet预测分类流程,需要将将stbi_load_image_from_file改成stbi_load_image_from_memory()。stbi_load...原创 2019-10-17 19:34:43 · 801 阅读 · 0 评论 -
win10下cmd运行已经训练好的darknet模型
1.win10跑darknet模型通过cmd输入CMD指令cmd模式,在x64路径下——训练:darknet classifier train data/METAL/metal.data data/METAL/darknet19_448.cfg pretrained_weights/darknet19_448.conv.23验证:darknet classifier valid da...原创 2019-04-12 11:48:51 · 989 阅读 · 0 评论 -
win10+VS2015+opencv3.4.3调用darknet模型
opencv必须大于等于3.4.2opencv在线文档:https://docs.opencv.org/trunk/db/d30/classcv_1_1dnn_1_1Net.html#a98ed94cb6ef7063d3697259566da310b参考文章:https://blog.51cto.com/gloomyfish/2095418https://blog.csdn.n...原创 2019-04-12 10:16:30 · 1534 阅读 · 0 评论 -
搭建darknet深度学习运行编译环境GPU版本CUDA10.0.130+cuDNN7.6.0+OpenCV3.4.0+VS2015+Win10
darknet是C语言写的一个轻量级深度学习库,因为c语言所以本身可以跨平台.本文讲解windows系统如何搭建darknet深度学习运行编译环境.配置环境:CUDA10.0.130+cuDNN7.6.0+OpenCV3.4.0+VS2015+Win101.下载darknet代码,darknet有好几个版本,但是有些版本对windows系统并不是很友好.下载地址:http...原创 2019-04-10 23:54:34 · 2113 阅读 · 0 评论 -
python通过test命令调用darknet已经训练好的模型
代码:# coding:utf-8 # 打包# pyinstaller -w runtest.pyimport sysimport osimport re import logging# execute command, and return the output def execCmd(cmd): r = os.popen(cmd) tex...原创 2019-04-24 14:19:37 · 796 阅读 · 0 评论 -
C++编写小软件Batch.exe通过test命令调用已经训练好的darknet模型
生成好的Batch.exe拷贝到darknet的x64文件夹下,地址栏输入cmd,即打开cmd.exe并进入x64所在路径:输入命令:Batch.exe F:\1234\imgF:\1234\img为测试图片所在路径1.修改基于对话框的MFC程序,使其可以接受参数,而且启动时隐藏对话框。修改initinstance()方法:CBatchDlg dlg; m_pMainW...原创 2019-04-24 13:40:15 · 368 阅读 · 0 评论 -
C++编写小软件RR.exe通过predict命令调用已经训练好的darknet模型
1.C++调用cmd指令c++调用cmd指令的方式用两种:第一种方式:system命令弹黑窗方式,system("darknet classifier predict data/METAL/metal.data data/METAL/darknet19_448.cfg backup/_darknet19_448_final.weights data/METAL/abnor/19032...原创 2019-04-24 10:39:22 · 529 阅读 · 0 评论 -
读取内存中的图片并使用opencv调用darknet模型分类
读取mtsd文件,并调用模型预测void CTestDllDlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码 CGetFilePath mGetFilePath; vector<string> m_vSrcImgPath; string path = "F:/1234/171220184711_00002"; mGe...原创 2019-04-16 15:36:55 · 1209 阅读 · 0 评论 -
运用python为不平衡数据上采样
训练数据train.list如下:E:/MyCode/fushikang2019/ImgOCT/normal/171221123612_00002/s077_normal.jpgE:/MyCode/fushikang2019/ImgOCT/normal/171225150539_00002/s062_normal.jpgE:/MyCode/fushikang2019/ImgOCT/no...原创 2019-09-26 20:04:16 · 300 阅读 · 0 评论 -
darknet运用模型预测分类时如何读取内存中的图片进行预测
更多darknet预测分类动态库文章参考:自己动手实现darknet预测分类动态库1.darknet分类预测流程说明Darknet分类预测时需要输入cmd指令:darknet classifier test metal.data 19448.txt backup/19448_last.weights该指令在darknet源代码主要调用test_classifier()完成。下面是t...原创 2019-09-27 18:37:14 · 739 阅读 · 0 评论 -
darknet分类预测时加载图片函数:load_data_in_thread
load_data_in_thread()线程中,启动load_thread线程,加载图片,加载图片流程图如下:1.load_data_in_thread():test_classifier()函数38行调用load_data_in_thread(): load_args args = { 0 }; args.w = 448/*net.w*/; args.h = 448...原创 2019-10-11 15:06:47 · 846 阅读 · 0 评论 -
darknet加载图片函数:load_image()
load_image代码:image load_image(char *filename, int w, int h, int c){#ifdef OPENCV //image out = load_image_stb(filename, c); image out = load_image_cv(filename, c);#else image out = l...原创 2019-10-11 16:20:08 · 2147 阅读 · 0 评论 -
stb_image库加载图片函数研究
目录1.stbi__start_mem1.1stbi_load_16_from_memory()1.2stbi_load_from_memory()1.3stbi_loadf_from_memory2.stbi_load_and_postprocess_8bit()2.1stbi_load_from_file()2.2stbi_load_from_memory()3...原创 2019-10-11 17:27:03 · 8058 阅读 · 0 评论 -
darknet学习笔记
更多深度学习相关文章,参看:深度学习与机器学习darknet是c语言写的一个轻量级深度学习框架yolo官网:https://pjreddie.com/darknet/yolo/darknet-windows代码下载:https://github.com/AlexeyAB/darknet(墙裂推荐看里面的README,里面有一些使用教程)搭建编译环境Win10下搭建darknet...原创 2019-04-03 13:27:38 · 1384 阅读 · 0 评论 -
自己动手实现darknet:配置cuda环境
配置GPU环境VC++包含目录和c/c++ 附加包含目录的区别Cuda学习笔记(四)——在vs2010中配置.cpp和.cu文件编译时报错严重性 代码 说明 项目 文件 行错误 MSB3721 命令“"D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin\nvcc.exe" -gencode=arch=com...原创 2019-11-25 18:07:57 · 1092 阅读 · 0 评论 -
darknet预测分类性能提升2:GPU加速pthread_in加载图片线程
更多文章参考:自己动手实现darknet预测分类动态库1.CUDA 10.0 +VS2015 环境搭建:安装CUDA,配置CUDA环境变量,VS2015中配置CUDA需要GPU加速的主要包括两部分:1.convert_to_image()darknet预测分类性能提升2.1:GPU加速convert_to_image()2.resize_iamge()darknet预测...原创 2019-11-26 14:37:24 · 410 阅读 · 0 评论 -
自己动手实现darknet预测分类动态库
更多darknet相关文章,参看:darknet学习笔记动态库实现darknet运用模型预测分类时如何读取内存中的图片进行预测性能提升:darknet预测分类性能提升1:性能提升方案darknet预测分类性能提升2:GPU加速pthread_in加载图片线程darknet预测分类性能提升2.1:GPU加速convert_to_image() darknet预测分类性能提升...原创 2019-11-26 13:59:05 · 510 阅读 · 0 评论 -
darknet预测分类性能提升1:性能提升方案
更多文章参考:自己动手实现darknet预测分类动态库预测112张图片,调用预测接口总时间为:25658毫秒(约为26秒)各个过程耗时分析:1)分析cfg网络文件:parse_network_cfg: 7789 millis_seconds2)加载权重文件:load_weights: 45 millis_seconds3)计算batchnorm:fuse_conv_batchn...原创 2019-11-26 13:53:11 · 566 阅读 · 2 评论 -
darknet训练图像分类图像预处理研究
训练图像分类加载图片流程load_data_augment()实现框架:load_data_augment()函数做了三件事情:获取图片路径;加载图片;获取图片标签。加载图片load_image_augment_paths又包括:load_image_color(),random_augment_image(),flip_image(),random_distort_image().load_image_color()random_augment_image()flip_i.原创 2020-09-10 15:53:43 · 665 阅读 · 0 评论 -
darknet训练图像分类优化器研究
图像分类流程:函数forward_backward_network_gpu();原创 2020-09-09 18:06:05 · 654 阅读 · 0 评论 -
darknet框架基于resnet34模型训练OCT图片
数据说明:数据来自平安数据:正常图片:14708张异常图片:24303张黄斑六线高清OCT图。裁剪权重文件:darknet分类官网(https://pjreddie.com/darknet/imagenet/)下载resnet34模型的权重文件resnet34.weights和网络结构文件:resnet.cfg也可以重命名为resnet34.txt.darknet partial resnet34.txt backup/resnet34.weights _resnet34.we原创 2020-09-09 11:40:15 · 986 阅读 · 0 评论 -
迁移学习darknet模型时,损失值不下降分析与解决
数据说明:模型参数说明:训练结果:原因分析:原创 2020-07-10 09:57:42 · 653 阅读 · 0 评论 -
如何训练darknet模型:修改官网已有模型训练自己图片
darknet分类官网教程:https://pjreddie.com/darknet/imagenet/1.修改cfg文件cfg文件是darknet架构的网络结构定义文件搭建darknet深度学习运行编译环境GPU版本CUDA10.0.130+cuDNN7.6.0+OpenCV3.4.0+VS2015+Win10有关cfg文件的说明见:Darknet模型中cfg文件理解与说明一...原创 2019-04-24 15:53:27 · 1801 阅读 · 0 评论 -
裁剪OCT图像只保留分层线部分
数字图像处理中的噪声以及图像平滑(去噪)【数字图像处理】 图像平滑原创 2020-03-17 15:04:31 · 444 阅读 · 0 评论 -
python去掉文件名中的_normal,_abnor后缀
去掉文件名中的_normal,_abnor后缀需求描述:test3.list内容如下:D:\normal\191205132058_00002\s001_normal.jpgD:\normal\191205132058_00002\s002_normal.jpgD:\normal\191205132058_00002\s003_normal.jpgD:\normal\19120...原创 2019-12-19 11:36:20 · 565 阅读 · 0 评论 -
python获取指定路径下的所有图片路径并保存到文本文件test.list中
python代码import osdirname = "E:\\MyCode\\fushikang2019\\ImgOCT\\mycode\\"items = os.listdir(dirname)file = open('test.list','w')for item in items: path = os.path.join(dirname,item) # prin...原创 2019-11-06 16:04:50 · 1359 阅读 · 2 评论 -
python统计分析darknet分析指令结果
cmd下运行darknet指令darknet classifier test metal.data 19448.txt backup/19448_last.weights > ab1009.txt在文件夹下打开ab1009.txtseen 64 E:/MyCode/fushikang2019/ImgOCT/normal/171222141438_00002/s064_nor...原创 2019-10-09 17:53:15 · 329 阅读 · 0 评论 -
Darknet模型中cfg文件理解与说明
目标检测yolo3.cfg文件★ [xxx]开始的行表示网络的一层,其后的内容为该层的参数配置,[net]为特殊的层,配置整个网络★ #号开头的行为注释行,在解析cfg的文件时会忽略该行[net]# Testingbatch=1subdivisions=1# Training# batch=64# subdivisions=16width=416height=416...原创 2019-09-14 19:05:42 · 3108 阅读 · 0 评论 -
darknet分类,迁移学习,还没有达到预期,学习率降为0了,怎么破?
目录1.train指令输出都是什么含义:1.1get_current_batch(net):第几次反向传播,更新网络权重1.2(*net.seen)/ train_images_num,相当于epoch,整个训练集被训练的次数1.3 loss1.4 avg_losss1.5rate1.6seconds,当前batch_num训练时间1.7当前总共训练了多少张图片...原创 2019-09-16 11:59:35 · 3332 阅读 · 2 评论 -
迁移学习darknet模型,epoch学习率应该怎么设置
关于maxbatches与学习率的关系,参看:darknet分类,迁移学习,还没有达到预期,学习率降为0了,怎么破?关于cfg文件参数说明,参看:Darknet模型中cfg文件理解与说明第一训练平安标注数据分析:第一训练模型参数:batch= 16subdivisions= 4learning_rate=0.01policy=polypower=4max_batches=250000学习曲线:训练时间:2020年6月23日 16:00-2020年6月24日 10:00原创 2020-06-24 10:53:32 · 4576 阅读 · 3 评论 -
迁移学习darknet框架19448图像分类模型进行OCT图像分类
如何训练darknet模型:修改官网已有模型训练自己图片迁移学习:Darknet模型中cfg文件理解与说明darknet分类,迁移学习,还没有达到预期,学习率降为0了,怎么破?python统计分析darknet分析指令结果python获取指定路径下的所有图片路径并保存到文本文件test.list中python去掉文件名中的_normal,_abnor后缀mtsd文...原创 2020-03-02 11:30:23 · 527 阅读 · 0 评论