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
reduction_rank(整数,默认为 1)——如果输入项是标量(输入没有深度轴),则设置为 0,例如以张量形状 (H,W) 而不是 (1,H,W)
存储的音频信号或黑白图像
我期待 CNTK 能够自动推断这个东西
我正在尝试在 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
reduction_rank(整数,默认为 1)——如果输入项是标量(输入没有深度轴),则设置为 0,例如以张量形状 (H,W) 而不是 (1,H,W)
存储的音频信号或黑白图像我期待 CNTK 能够自动推断这个东西