加载模型时未定义Keras并置

时间:2019-01-14 23:55:59

标签: python keras deep-learning

在我的一个lambda层中,我使用from keras.layers import concatenate来连接两个张量,并且在训练过程中它没有任何问题,并且成功保存了模型文件。

但是,当我加载模型时,它引发了这个错误:

  

NameError:名称“ concatenate”未定义

有人知道什么可能是错的吗?在加载模型之前,我已经导入了串联。

lambda层如下所示:

def concat_l1_l2(vests):
    l1, l2 = vests
    l1 = K.l2_normalize(l1, axis=-1)
    l2 = K.l2_normalize(l2, axis=-1)
    return concatenate([l1, l2])

2 个答案:

答案 0 :(得分:0)

也许以下方法可以解决您的问题。 尝试将costum函数传递给keras的load函数,即

load(model_path,{"concat_l1_l2":concat_l1_l2})

答案 1 :(得分:0)

从json文件加载模型时,我遇到了同样的问题,请尝试以下行(对我有用):

const depthItems = {}
_.keys(items).map(key => {
  if(key.indexOf("Depth") !== -1) {
    depthItems[key] = items[key]
  }
})
console.log(depthItems)