CNTK 卷积1d

CNTK Convolution1d

我正在尝试在 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 或与输入张量相同。

我能够通过将 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 nn

引用自CNTK Layers Documentation

reduction_rank(整数,默认为 1)——如果输入项是标量(输入没有深度轴),则设置为 0,例如以张量形状 (H,W) 而不是 (1,H,W)

存储的音频信号或黑白图像

我期待 CNTK 能够自动推断这个东西