我正在尝试用CNTK创建一个简单的卷积模型,如下所示
def create_model(hidden_dim, output_dim):
nn=C.layers.Sequential([ C.layers.Embedding(shape=50,name='embedding'),
C.layers.Convolution1D((40,),num_filters=5, activation=C.ops.relu),
C.layers.GlobalMaxPooling(),
C.layers.Dense(shape=40, activation=C.ops.tanh, init_bias=0.1),
C.layers.Dense(shape=2, activation=None, init_bias=0.1)
])
return nn但我不断得到以下错误ValueError:卷积映射张量必须具有秩1或与输入张量相同。
发布于 2017-07-15 03:40:52
我能够通过将reduction_rank=0作为参数添加到Convolution1d层来修复此问题。
def create_model(hidden_dim, output_dim):
nn=C.layers.Sequential([ C.layers.Embedding(shape=50,name='embedding', **reduction_rank=0**),
C.layers.Convolution1D((40,),num_filters=5, activation=C.ops.relu),
C.layers.GlobalMaxPooling(),
C.layers.Dense(shape=40, activation=C.ops.tanh, init_bias=0.1),
C.layers.Dense(shape=2, activation=None, init_bias=0.1)
])
return nnreduction_rank (int,缺省为1) -如果输入项是标量(输入没有深度轴),则设置为0,例如音频信号或以张量形状(H,W)而不是(1,H,W)存储的黑白图像
我期待着CNTK能够自动推断出这件事
https://stackoverflow.com/questions/45069504
复制相似问题