多个类型的slot输入,生成网络配置文件,再用C-API调用失败
Created by: Jarlonyan
问题是这样的:当我的输入有多个slot的时候(每个slot类型不一样,有的是dense,有的是sparse_integer_value的),比如下面的例子中,如果slot1和slot2都是dense的,那没有问题,可以正确生成网络配置文件,且用C-API调用它也能成功运行。但是如果slot1是dense的,slot2是sparse_integer_value的,则导致调用C-API 失败。为什么??
1 from paddle.trainer_config_helpers import *
2
3 slot1 = data_layer(name='slot1', size=100)
4 slot2 = data_layer(name='slot2', size=200)
5
6 concat_layer=concat_layer( name="concat_layer",
7 input=[slot1, slot2] )
8
9 hidden = fc_layer( input=concat_layer,
10 size=256,
11 param_attr=ParamAttr(name='hidden.w'),
12 bias_attr=ParamAttr(name='hidden.b'))
13
14 prob = fc_layer( input=hidden,
15 size=10,
16 act=SoftmaxActivation(),
17 param_attr=ParamAttr(name='prob.w'),
18 bias_attr=ParamAttr(name='prob.b'))
19
20 outputs(prob)
错误提示是:
F0808 23:26:56.083024 22482 BaseMatrix.cu:83] Check failed: !b.isSparse() Sparse Matrix/Vector is not supported.
辛苦你们啦!谢谢。