您的位置:首页 > 其它

test_convolution_timing

2014-01-14 21:52 295 查看
#define __WINDOWS__ 1

#include <iostream>
#include <algorithm>
#include <string>
#include "libidxgui.h"
#include "datasource.h"
#include "libidx.h"
#include "idx.h"
#include "ebl_basic.h"
#include "ebl_layers.h"

uint dump_count = 0;
using namespace std;
using namespace ebl;
void test_convolution_timing();

int main(int argc,char** argv)
{
test_convolution_timing();
return 0;
}

void test_convolution_timing()
{
layers<double> l(true);
idx<intg> tbl = full_table(1, 8);
idx<intg> tbl2 = full_table(8, 16);
idxdim ker(9,9);
idxdim stride(1,1);
l.add_module(new convolution_module<double>(NULL, ker, stride, tbl));
l.add_module(new tanh_module<double>());
l.add_module(new convolution_module<double>(NULL, ker, stride, tbl2));
l.add_module(new tanh_module<double>());
//convolution_module<double> l2(NULL, ker, stride, tbl);
state<double> in(1, 512, 512), out(16, 496, 496);
timer t;
t.start();
for (uint i = 0; i < 10; ++i)
{
l.fprop(in, out);
}
long tim = t.elapsed_milliseconds();
cout << " big convolution time: " << tim/10 << "ms";
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: