我想用自定义函数-f(o字符串列表)-替换Keras嵌入层,该函数接受一系列长度可变的字符串并返回形状为(batch_size,max_len,feature_len)的张量。
假设我要创建的模型非常简单,由两个密集层组成,如下所示:
Inputs = Input(shape=(1,),tf.string)
model = Lambda(f, output_shape = (max_len, feature_len))(Inputs)
model = Dense(20,activation='relu')(model)
model = Dense(1,activation='sigmoid')(model)
model = Model(Inputs, model)
但是,以上几行导致错误!我无法创建模型。任何帮助表示赞赏。
p.s。函数f()可以看作是一种基于上下文的词嵌入生成器 ,例如ELMo或BERT,它们分别为每个嵌入生成长度为 feature_len 的嵌入向量每个字符串中的单词。