from keras.layers import Embedding, Dense, Input, Dropout, Reshape
from keras.layers.convolutional import Conv2D
from keras.layers.pooling import MaxPool2D
from keras.layers import Concatenate, Lambda
from keras.backend import expand_dims
from keras.models import Model
from keras.initializers import constant, random_uniform, TruncatedNormal
class TextCNN(object):
def __init__(
self, sequence_length, num_classes, vocab_size,
embedding_size, filter_sizes, num_filters, l2_reg_lambda=0.0):
# input layer
input_x = Input(shape=(sequence_length, ), dtype='int32')
# embedding layer
embedding_layer = Embedding(vocab_size,
embedding_size,
embeddings_initializer=random_uniform(minval=-1.0, maxval=1.0))(input_x)
embedded_sequences = Lambda(lambda x: expand_dims(embedding_layer, -1))(embedding_layer)
# Create a convolution + maxpool layer for each filter …Run Code Online (Sandbox Code Playgroud) 我正在使用 tensorflow.js 并尝试将我的 keras 模型转换为 tf.js 模型。但是,它不支持我尝试使用的 Lambda 层在我的模型中转换 tensorto 层(我使用 expand_dims)(如果不使用它,将无法正确创建模型,您知道原因)。所以我想知道是否有任何方法可以避免使用 Lambda 层并扩展我的 embedding_layer 的暗淡。
# input layer
input_x = Input(shape=(sequence_length, ), dtype='int32')
# embedding layer
embedding_layer = Embedding(vocab_size,
embedding_size,
embeddings_initializer=random_uniform(minval=-1.0, maxval=1.0))(input_x)
embedded_sequences = Lambda(lambda x: expand_dims(x, -1))(embedding_layer)
Run Code Online (Sandbox Code Playgroud)
如果您能给我一些帮助,我将不胜感激,谢谢!