【问题标题】:CNTK Convolution1dCNTK 卷积1d
【发布时间】:2017-07-13 00:17:18
【问题描述】:

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

【问题讨论】:

    标签: python convolution cntk


    【解决方案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 (int, 默认为 1) – 如果输入项是标量(输入没有深度轴),则设置为 0,例如以张量形状 (H,W) 而不是 (1,H,W) 存储的音频信号或黑白图像

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-21
      • 1970-01-01
      • 1970-01-01
      • 2019-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多