DeepNet的基本框架和训练机制
来源:互联网 发布:unity3d 麻将模型 编辑:程序博客网 时间:2024/05/23 02:05
DeepNet的基本框架包含三个部分,也就是它里头的三个文件夹:deepnet,cudamat和eigenmat。
其中deepnet中包括了DeepNet的接口函数,cudamat和eigenmat分别包含了DeepNet的库函数。
deepnet
deepnet文件夹中包含的是用Python实现的接口函数。主要有:
trainer.py:训练网络时使用的就是这个接口函数,训练的模型主要有四种:FEED_FORWARD_NET,DBM,DBN,SPARSE_CODER以及FAST_DROPOUT_NET,具体模型的类型在model.pbtxt中定义。使用方法:
python trainer.py model.pbtxt train.pbtxt eval.pbtxt
其中train.pbtxt和eval.pbtxt在上一章中提到过,在此不再赘述。
上一章中我们还提到了model.pbtxt中除了模型类型(model_type)以外,还含有三个部分:hyperparams、layer和edge。
在这里分别对应了parameter.py,layer.py,edge.py三个接口函数。
neuralnet.py是另一个很重要的接口函数:它定义了NeuralNet,代表着最基本的网络模型:FEED_FORWARD_NET,也是其他几种网络模型的基础,包含了网络的前向传递、后向传递、更新layer和edge的参数、训练、验证、评估等所有的功能的接口。
dbm.py,sparse_coder.py,fastdropout.py,dbn.py分别代表了DBM,SparseCoder、FastDropoutNet以及DBN四种网络模型,其中DBM,SparseCoder、FastDropoutNet均为NeuralNet的子类,DBN为DBM的子类。模型具体的含义和实现在这里不多介绍。
choose_matrix_library.py,顾名思义选择矩阵运算库,当使用GPU时,调用cudamat库,使用CPU时,调用eigenmat库。
除此之外,还有linear_layer.py,logistic_layer.py,relu_layer.py,sparse_code_layer.py,tanh_layer.py等各种激活层的接口函数,以及datahandler.py,extract_dbn_representation.py,mc_avg.py,make_plots.py,visualize.py等数据处理、提取特征、计算、画图、可视化等功能接口。
cudamat代表了使用GPU时,DeepNet运算所调用的库,而eigenmat则代表使用CPU时调用的库。
cudamat和eigenmat中分别包含了接口:cudamat.py和eigenmat.py。这两个接口函数分别定义了模型训练时所需要的各种矩阵计算、运算符以及各种操作等功能,这些功能的实现分别在cudamat_kernels.cu、eigenmat.cc中进行,分别是用CUDA语言和C语言实现。
cudamat还包含了接口:cudamat_conv.py,主要定义了卷积计算的相关操作,具体的实现在cudamat_conv.cu和cudamat_conv_kernels.cu中实现。
综上所述,DeepNet的训练机制就是利用deepnet中的接口函数读取所需模型的类型、各类参数并进行训练,训练所需的各种运算和操作就在所调用的cudamat或者eigenmat库中进行。
了解了DeepNet的基本框架和训练机制之后,我们就可以根据特定的需求来修改内部函数以实现我们所需要的功能。
- DeepNet的基本框架和训练机制
- DeepNet深度学习框架的使用
- DeepNet深度学习框架的使用
- DeepNet深度学习框架的使用
- DeepNet 的使用经验
- Ubuntu下deepnet的配置
- Deepnet在Ubuntu14下的安装问题解决
- Linux环境下搭建DeepNet深度学习框架
- ubuntu16.0.4环境下搭建DeepNet深度学习框架
- Hibernate框架的机制和原理
- JSP的基本框架和接受语句
- ffmpeg目录架构与基本框架机制
- 基本的线程机制
- 并发的基本机制
- 【蓝桥杯训练】--- 算法训练 Torry的困惑(基本型)
- JMS 基本可靠性机制 和 事务机制
- 推荐引擎机制的前提、基本方式和典型应用
- 推荐引擎机制的前提、基本方式和典型应用
- /var/lib/yum/yumdb
- Unity 入门 Input 类
- J2SE第七章——集合框架(容器)二
- BufferedReader-FileReader-FileInputStream
- leetcode(84).374. Guess Number Higher or Lower
- DeepNet的基本框架和训练机制
- VS操作快捷键,长时间总结出来的C、C++IDE使用快捷键操作,很方便的哦
- 两数组的交II
- TP5与TP3.2的可以通用的方法
- Maya如何中英文切换
- golang包学习之sync
- Maven搭建SpringMVC+Mybatis项目详解
- Java实现2-BitMap排序
- 素数打表