代码之家  ›  专栏  ›  技术社区  ›  Steven

嵌入不同输入维的预训练Keras模型

  •  0
  • Steven  · 技术社区  · 5 年前

    我有一个Keras字符级嵌入模型,它需要输入形状 (num_items, 45) (num_items, 128) .

    我目前在一个输入形状为的序列分类模型中使用它 (num_items, num_terms, 128) ,但这需要提前准备数据。

    (num_items, num_terms, 45) 然后通过原始的角色模型输出一个大小的层 (项数,项数,128) .

    在Keras中有没有一种方法可以做到这一点,即使字符模型一次只能对一个术语进行分类?也许是用某种lambda层?

    0 回复  |  直到 5 年前
        1
  •  1
  •   simon    5 年前

    你需要用递归模型训练你的分类器吗?因为如果不是的话,你可以用lambda层来实现地图:

    inputs = keras.layers.Input(shape=(num_terms, num_items, 45))
    processed = keras.layers.Lambda(lambda x: tf.map_fn(classifier, x))(inputs)
    

    注意,num_nuterms和num_items的顺序在这里被交换,因为地图在第一个维度上循环。