我有一个功能模型,它在喀拉斯的一个回路中创建了几个门
Lambda
层:
predictions = []
for ii, kk in enumerate(label_cols):
slicer = Lambda(lambda x: x[:,:,:,ii:ii+1],
output_shape=gates_shape[:-2]+(1,),
name='slice_'+kk)
gate_ = slicer(gates)
...
prediction = Dense(n_classes[kk], activation=final_activation, name=kk)(x)
predictions.append(prediction)
当我试图加载模型时,它会抱怨:
/anaconda3/lib/python3.6/site-packages/keras/layers/core.py in call(self, inputs, mask)
691 if has_arg(self.function, 'mask'):
692 arguments['mask'] = mask
--> 693 return self.function(inputs, **arguments)
694
695 def compute_mask(self, inputs, mask=None):
/anaconda3/lib/python3.6/site-packages/keras/layers/core.py in <lambda>(x)
334 print('gates_shape', gates_shape)
335 for ii, kk in enumerate(prms.label_cols):
--> 336 slicer = Lambda(lambda x: x[:,:,:,ii:ii+1],
337 output_shape=gates_shape[:-2]+(1,),
338 name='slice_'+kk)
NameError: name 'ii' is not defined
在我添加
兰姆达
.
正确的方法是什么?