首页 > 编程知识 正文

神经网络框架,flutter框架简介

时间:2023-05-04 13:45:47 阅读:168223 作者:4866

为了将脸部表情端到端系统化的再训练

附录1 :

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

3359 github.com/HGP vision/darknet

darknet是一个轻量级的完全基于c和CUDA的开源深度学习框架,主要特点是安装方便,无依赖关系(可以不用OpenCV ),可移植性非常好,支持CPU和GPU两种计算方式

与TensorFlow相比,darknet功能并不强大,但这也是darknet的优势:

darknet完全用c语言实现,没有依赖关系。 当然也可以使用OpenCV,但只需使用它来显示图像或提高视觉化。

darknet支持CPU (所以没有GPU也没关系)和GPU。 当然最好使用cuda/cudnn、GPU )

因为重量轻,没有TensorFlow那样强大的API,我觉得有另一种口味的灵活性,适合研究基础,从基础上的改善和扩展更容易;

darknet的实现与caffe的实现有相似之处,熟悉darknet,相信有助于对caffe下手;

附录2 :

作者:知道的用户

链接: https://www.zhi Hu.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三种方法,gru layer等也一样

运算只在blas.c和gemm.c上进行,网络运算在network.c.c上最重要的是train_network_datum、train_networks、train_networks

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 % suen )

用户定义的网络参数文件由parse_network_cfg处理,培训结果由load_weights读取

主干是这个。

如果需要满足特殊需要的数据源,必须通过浏览data.c获得。

对于cfg轮廓,重点调整(当然所有参数都很重要,可能需要调整)、训练时重点调整的全局参数(decay momentum learning_rate )三者均与收敛速度相关。 policy是一种weights策略,inputs batch (和相关联的subdivisions ) ouputs与数据吞吐量维相关联,最新版本似乎已在此处修改了ouputs。

参考: https://blog.csdn.net/xunan 003/article/details/79932888

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。