第一二隐藏层激活函数编译没问题,但是后面的激活函数总是报错。错误信息如下。from ../../../src/main.cpp:1:
D:/Xilinx/Vivado/2017.4/include/gmp.h:62:0: warning: "__GMP_LIBGMP_DLL" redefined [enabled by default]
D:/Xilinx/Vivado/2017.4/include/floating_point_v7_0_bitacc_cmodel.h:135:0: note: this is the location of the previous definition
../../../src/main.cpp:235:35: error: expected constructor, destructor, or type conversion before '(' token
../../../src/main.cpp:240:20: error: 'text_overlay_label6' does not name a type
../../../src/main.cpp:240:52: error: 'i' does not name a type
../../../src/main.cpp:240:60: error: 'i' does not name a type
../../../src/main.cpp:254:30: error: expected constructor, destructor, or type conversion before '(' token
../../../src/main.cpp:258:20: error: 'text_overlay_label8' does not name a type
../../../src/main.cpp:258:52: error: 'i' does not name a type
../../../src/main.cpp:258:60: error: 'i' does not name a type
../../../src/main.cpp:271:28: error: expected constructor, destructor, or type conversion before '(' token
../../../src/main.cpp:277:27: error: expected unqualified-id before 'for'
../../../src/main.cpp:277:43: error: 'i' does not name a type
../../../src/main.cpp:277:51: error: 'i' does not name a type
../../../src/main.cpp:286:33: error: expected constructor, destructor, or type conversion before '(' token
../../../src/main.cpp:289:2: error: expected declaration before '}' token
make: *** [obj/main.o] Error 1
CRITICAL WARNING: [SIM 100] 'csim_design' failed: compilation error(s).
INFO: [SIM 3] *************** CSIM finish ***************
相关代码如下。 Sigmoid(a2,n1);
text_overlay_label4:for (i = 0; i < n2; i++)
{
y = 0.0;
text_overlay_label5:for (j = 0; j < n1;j++)
//单点计算
//y=w0*x0+w1*x1+w2*x2+...+w63*x63 + b
y = y + weight3[j][i] * a2[j];
}
//加偏置
y = y + bias3[i];
//放入sigmoid激活函数
a3[i] = y;
}
Sigmoid(a3,n2);
//relu(a2,32);
// tanh_1(a2,16);
//softplus(a2,32);
//隐藏层第一层-第二层
text_overlay_label6:for (i = 0; i < n3; i++)
{
y = 0.0;
text_overlay_label7:for (j = 0; j < n2; j++)
{
//单点计算
//y=w0*x0+w1*x1+w2*x2+...+w63*x63 + b
y = y + weight4[j][i] * a3[j];
}
//加偏置
y = y + bias4[i];
//放入sigmoid激活函数
a4[i] = y;
}
lrelu(a4,n3);
//relu(a2,32);
// tanh_1(a2,16);
//softplus(a2,32);
text_overlay_label8:for (i = 0; i < 10; i++)
{
y = 0.0;
text_overlay_label9:for (j = 0; j < n3; j++)
{
//单点计算
//y=w0*x0+w1*x1+w2*x2+...+w31*x31 + b
y = y + weight5[j][i] * a4[j];
}
//加偏置
y = y + bias5[i];
p[i] = y;
}
Sigmoid(p,10);
//relu(p,10);
// tanh_1(p,10);
//softplus(p,10);
double max = 0;
//访问数组中的每一个元素,如果这个元素比认定的最大值max还要大,那么更新最大值
for (int i = 0; i < 10; i++)
{
printf("%f\n",p[i]);
if (p[i] > max)
{