AlexNet模型实现(2. C++接口头文件)
来源:互联网 发布:淘宝如何让排名靠前 编辑:程序博客网 时间:2024/05/29 08:48
定义类,定义AlexNet模型各层接口
#ifndef __SLQ_ALEX_NET_H__#define __SLQ_ALEX_NET_H__#include "slqNetMacro.h"namespace slqDL { namespace slqAlexNet{ class slqAlexNet { public: slqAlexNet() = default; slqAlexNet(const slqAlexNet &slqNet) = default; slqAlexNet & operator = (const slqAlexNet & slqNet) = default; ~slqAlexNet(); void init(); void train(); void predict(); void CreateConv3Table(); private: void deletevar(float **var); void initParm(); void newParam(); void ForwardC1(); void ForwardS1(); void ForwardC2(); void ForwardS2(); void ForwardC3(); void ForwardC4(); void ForwardC5(); void ForwardS5(); void ForwardF1(); void ForwardF2(); void ForwardF3(); void BackwardF3(); void BackwardF2(); void BackwardF1(); void BackwardS5(); void BackwardC5(); void BackwardC4(); void BackwardC3(); void BackwardS2(); void BackwardC2(); void BackwardS1(); void BackwardC1(); void UpgradeNetwork(); void UpdateParameters(float *delta, float *Edelta, float *para, int len); void ConvolutionOpt(float *inPtr, float *outPtr, float *convPtr, float *biPtr, int param[]); void PoolingOpt(float *inPtr, float *outPtr, float *poolPtr, float *biPtr, int param[]); void InverseConv(); void InversePool(); float test(); void SaveParameters(); void ReadParameters(); void RandomBias(float *randVector, int vLen); void ProduceLabel(); void RegularMap(char *cmap, float *mapdata); void uniform_rand(float* src, int len, float min, float max); float uniform_rand(float min, float max); private: bool CONV3Table[c3ConvNum][c3ConvDeep]; bool F1Table[s5UnitNum][f1UnitNum]; bool F2Table[f1UnitNum][f2UnitNum]; char curLabl; float *mlabel; char *inRaw; float *inMap; float *c1Map; float *s1Map; float *c2Map; float *s2Map; float *c3Map; float *c4Map; float *c5Map; float *s5Map; float *f1Map; float *f2Map; float *f3Map; float *c1Conv; float *s1Pool; float *c2Conv; float *s2Pool; float *c3Conv; float *c4Conv; float *c5Conv; float *s5Pool; float *f1Conn; float *f2Conn; float *f3Conn; float *c1Bias; float *s1Bias; float *c2Bias; float *s2Bias; float *c3Bias; float *c4Bias; float *c5Bias; float *s5Bias; float *f1Bias; float *f2Bias; float *f3Bias; float *c1MapDt; float *s1MapDt; float *c2MapDt; float *s2MapDt; float *c3MapDt; float *c4MapDt; float *c5MapDt; float *s5MapDt; float *f1MapDt; float *f2MapDt; float *f3MapDt; float *c1ConvDt; float *s1PoolDt; float *c2ConvDt; float *s2PoolDt; float *c3ConvDt; float *c4ConvDt; float *c5ConvDt; float *s5PoolDt; float *f1ConnDt; float *f2ConnDt; float *f3ConnDt; float *c1BiasDt; float *s1BiasDt; float *c2BiasDt; float *s2BiasDt; float *c3BiasDt; float *c4BiasDt; float *c5BiasDt; float *s5BiasDt; float *f1BiasDt; float *f2BiasDt; float *f3BiasDt; float *c1ConvEDt; float *s1PoolEDt; float *c2ConvEDt; float *s2PoolEDt; float *c3ConvEDt; float *c4ConvEDt; float *c5ConvEDt; float *s5PoolEDt; float *f1ConnEDt; float *f2ConnEDt; float *f3ConnEDt; float *c1BiasEDt; float *s1BiasEDt; float *c2BiasEDt; float *s2BiasEDt; float *c3BiasEDt; float *c4BiasEDt; float *c5BiasEDt; float *s5BiasEDt; float *f1BiasEDt; float *f2BiasEDt; float *f3BiasEDt; }; } // end namespace slqAlexNet} // end namespace slqDL#endif // #ifndef __SLQ_ALEX_NET_H__
阅读全文
0 0
- AlexNet模型实现(2. C++接口头文件)
- AlexNet模型实现(1. C++宏定义头文件)
- AlexNet模型实现(3. C++模型实现)
- AlexNet模型实现(4. 基于Tensorflow的python实现)
- 神经网络之AlexNet模型的实现(Python+TensorFlow)
- AlexNet模型
- AlexNet模型
- AlexNet模型
- 《C语言接口与实现》——头文件数据结构定义研究
- (C语言)头文件实现的函数
- 栈数组实现头文件C语言
- C头文件声明和实现分开
- 邻接表生成模型头文件C语言
- .c和.h文件的区别(头文件与之实现文件的的关系~ )
- .c和.h文件的区别(头文件与之实现文件的的关系~ )
- .c和.h文件的区别(头文件与之实现文件的的关系~ )
- .c和.h文件的区别(头文件与之实现文件的的关系~ )
- 论文笔记:AlexNet模型
- ORA-01950:对表空间‘users’无权限
- 事件委托取消遮罩层
- 基于Mapper代理配置的Mybatis多表查询一对一的三种方式
- Flex,再也不用担心页面布局了
- c++ Template 的那些事
- AlexNet模型实现(2. C++接口头文件)
- 解决AndroidStudio中Error:Android Dex: [xxx] Failed to load dx.jar的问题
- 透明性
- java中调用dll文件的两种方法
- Spring自定义类扫描器
- Android 开发艺术探索 第一章
- Hololens扫描特效
- 软件移植的途径
- 腾讯云服务器nginx安装成功后不能通过ip访问