本文整理汇总了Python中keras.layers.Embedding方法的典型用法代码示例。如果您正苦于以下问题:Python layers.Embedding方法的具体用法?Python layers.Embedding怎么用?Python layers.Embedding使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类keras.layers
的用法示例。
在下文中一共展示了layers.Embedding方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: RNNModel
# 需要导入模块: from keras import layers [as 别名]
# 或者: from keras.layers import Embedding [as 别名]
def RNNModel(vocab_size, max_len, rnnConfig, model_type):
embedding_size = rnnConfig['embedding_size']
if model_type == 'inceptionv3':
# InceptionV3 outputs a 2048 dimensional vector for each image, which we'll feed to RNN Model
image_input = Input(shape=(2048,))
elif model_type == 'vgg16':
# VGG16 outputs a 4096 dimensional vector for each image, which we'll feed to RNN Model
image_input = Input(shape=(4096,))
image_model_1 = Dropout(rnnConfig['dropout'])(image_input)
image_model = Dense(embedding_size, activation='relu')(image_model_1)
caption_input = Input(shape=(max_len,))
# mask_zero: We zero pad inputs to the same length, the zero mask ignores those inputs. E.g. it is an efficiency.
caption_model_1 = Embedding(vocab_size, embedding_size, mask_zero=True)(caption_input)
caption_model_2 = Dropout(rnnConfig['dropout'])(caption_model_1)
caption_model = LSTM(rnnConfig['LSTM_units'])(caption_model_2)
# Merging the models and creating a softmax classifier
final_model_1 = concatenate([image_model, caption_model])
final_model_2 = Dense(rnnConfig['dense_units'], activation='relu')(final_model_1)
final_model = Dense(vocab_size, activation='softmax')(final_model_2)
model = Model(inputs=[image_input, caption_input], outputs=final_model)
model.compile(loss='categorical_crossentropy', optimizer='adam')
return model
示例2: get_model_41
# 需要导入模块: from keras import layers [as 别名]
# 或者: from keras.layers import Embedding [as 别名]
def get_model_41(params):
embedding_weights = pickle.load(open("../data/datasets/train_data/embedding_weights_w2v-google_MSD-AG.pk","rb"))
# main sequential model
model = Sequential()
model.add(Embedding(len(embedding_weights[0]), params['embedding_dim'], input_length=params['sequence_length'],
weights=embedding_weights))
#model.add(Dropout(params['dropout_prob'][0], input_shape=(params['sequence_length'], params['embedding_dim'])))
model.add(LSTM(2048))
#model.add(Dropout(params['dropout_prob'][1]))
model.add(Dense(output_dim=params["n_out"], init="uniform"))
model.add(Activation(params['final_activation']))
logging.debug("Output CNN: %s" % str(model.output_shape))
if params['final_activation'] == 'linear':
model.add(Lambda(lambda x :K.l2_normalize(x, axis=1)))
return model
# CRNN Arch for audio
示例3: create_model
# 需要导入模块: from keras import layers [as 别名]
# 或者: from keras.layers import Embedding [as 别名]
def create_model():
inputs = Input(shape=(length,), dtype='int32', name='inputs')
embedding_1 = Embedding(len(vocab), EMBED_DIM, input_length=length, mask_zero=True)(inputs)
bilstm = Bidirectional(LSTM(EMBED_DIM // 2, return_sequences=True))(embedding_1)
bilstm_dropout = Dropout(DROPOUT_RATE)(bilstm)
embedding_2 = Embedding(len(vocab), EMBED_DIM, input_length=length)(inputs)
con = Conv1D(filters=FILTERS, kernel_size=2 * HALF_WIN_SIZE + 1, padding='same')(embedding_2)
con_d = Dropout(DROPOUT_RATE)(con)
dense_con = TimeDistributed(Dense(DENSE_DIM))(con_d)
rnn_cnn = concatenate([bilstm_dropout, dense_con], axis=2)
dense = TimeDistributed(Dense(len(chunk_tags)))(rnn_cnn)
crf = CRF(len(chunk_tags), sparse_target=True)
crf_output = crf(dense)
model = Model(input=[inputs], output=[crf_output])
model.compile(loss=crf.loss_function, optimizer=Adam(), metrics=[crf.accuracy])
return model
示例4: add_glove_model
# 需要导入模块: from keras import layers [as 别名]
# 或者: from keras.layers import Embedding [as 别名]
def add_glove_model(self):
"""
Read and save Pretrained Embedding model
"""
embeddings_index = {}
try:
f = open(self.embedded_dir)
for line in f:
values = line.split()
word = values[0]
coefs = np.asarray(values[1:], dtype='float32')
assert (coefs.shape[0] == self.embed_size)
embeddings_index[word] = coefs
f.close()
except OSError:
print('Embedded file does not found')
exit()
except AssertionError:
print("Embedding vector size does not match with given embedded size")
return embeddings_index
示例5: get_embedding_matrix
# 需要导入模块: from keras import layers [as 别名]
# 或者: from keras.layers import Embedding [as 别名]
def get_embedding_matrix(self):
"""
Returns Embedding matrix
"""
embedding_matrix = np.random.random((len(self.word_index) + 1, self.embed_size))
absent_words = 0
for word, i in self.word_index.items():
embedding_vector = self.embedding_index.get(word)
if embedding_vector is not None:
# words not found in embedding index will be all-zeros.
embedding_matrix[i] = embedding_vector
else:
absent_words += 1
if self.verbose == 1:
print('Total absent words are', absent_words, 'which is', "%0.2f" %
(absent_words * 100 / len(self.word_index)), '% of total words')
return embedding_matrix
示例6: GeneratorPretraining
# 需要导入模块: from keras import layers [as 别名]
# 或者: from keras.layers import Embedding [as 别名]
def GeneratorPretraining(V, E, H):
'''
Model for Generator pretraining. This model's weights should be shared with
Generator.
# Arguments:
V: int, Vocabrary size
E: int, Embedding size
H: int, LSTM hidden size
# Returns:
generator_pretraining: keras Model
input: word ids, shape = (B, T)
output: word probability, shape = (B, T, V)
'''
# in comment, B means batch size, T means lengths of time steps.
input = Input(shape=(None,), dtype='int32', name='Input') # (B, T)
out = Embedding(V, E, mask_zero=True, name='Embedding')(input) # (B, T, E)
out = LSTM(H, return_sequences=True, name='LSTM')(out) # (B, T, H)
out = TimeDistributed(
Dense(V, activation='softmax', name='DenseSoftmax'),
name='TimeDenseSoftmax')(out) # (B, T, V)
generator_pretraining = Model(input, out)
return generator_pretraining
示例7: __init__
# 需要导入模块: from keras import layers [as 别名]
# 或者: from keras.layers import Embedding [as 别名]
def __init__(self, sess, B, V, E, H, lr=1e-3):
'''
# Arguments:
B: int, Batch size
V: int, Vocabrary size
E: int, Embedding size
H: int, LSTM hidden size
# Optional Arguments:
lr: float, learning rate, default is 0.001
'''
self.sess = sess
self.B = B
self.V = V
self.E = E
self.H = H
self.lr = lr
self._build_gragh()
self.reset_rnn_state()
示例8: Discriminator
# 需要导入模块: from keras import layers [as 别名]
# 或者: from keras.layers import Embedding [as 别名]
def Discriminator(V, E, H=64, dropout=0.1):
'''
Disciriminator model.
# Arguments:
V: int, Vocabrary size
E: int, Embedding size
H: int, LSTM hidden size
dropout: float
# Returns:
discriminator: keras model
input: word ids, shape = (B, T)
output: probability of true data or not, shape = (B, 1)
'''
input = Input(shape=(None,), dtype='int32', name='Input') # (B, T)
out = Embedding(V, E, mask_zero=True, name='Embedding')(input) # (B, T, E)
out = LSTM(H)(out)
out = Highway(out, num_layers=1)
out = Dropout(dropout, name='Dropout')(out)
out = Dense(1, activation='sigmoid', name='FC')(out)
discriminator = Model(input, out)
return discriminator
示例9: DiscriminatorConv
# 需要导入模块: from keras import layers [as 别名]
# 或者: from keras.layers import Embedding [as 别名]
def DiscriminatorConv(V, E, filter_sizes, num_filters, dropout):
'''
Another Discriminator model, currently unused because keras don't support
masking for Conv1D and it does huge influence on training.
# Arguments:
V: int, Vocabrary size
E: int, Embedding size
filter_sizes: list of int, list of each Conv1D filter sizes
num_filters: list of int, list of each Conv1D num of filters
dropout: float
# Returns:
discriminator: keras model
input: word ids, shape = (B, T)
output: probability of true data or not, shape = (B, 1)
'''
input = Input(shape=(None,), dtype='int32', name='Input') # (B, T)
out = Embedding(V, E, name='Embedding')(input) # (B, T, E)
out = VariousConv1D(out, filter_sizes, num_filters)
out = Highway(out, num_layers=1)
out = Dropout(dropout, name='Dropout')(out)
out = Dense(1, activation='sigmoid', name='FC')(out)
discriminator = Model(input, out)
return discriminator
示例10: parse_args
# 需要导入模块: from keras import layers [as 别名]
# 或者: from keras.layers import Embedding [as 别名]
def parse_args():
parser = argparse.ArgumentParser(description="Run GMF.")
parser.add_argument('--path', nargs='?', default='Data/',
help='Input data path.')
parser.add_argument('--dataset', nargs='?', default='ml-1m',
help='Choose a dataset.')
parser.add_argument('--epochs', type=int, default=100,
help='Number of epochs.')
parser.add_argument('--batch_size', type=int, default=256,
help='Batch size.')
parser.add_argument('--num_factors', type=int, default=8,
help='Embedding size.')
parser.add_argument('--regs', nargs='?', default='[0,0]',
help="Regularization for user and item embeddings.")
parser.add_argument('--num_neg', type=int, default=4,
help='Number of negative instances to pair with a positive instance.')
parser.add_argument('--lr', type=float, default=0.001,
help='Learning rate.')
parser.add_argument('--learner', nargs='?', default='adam',
help='Specify an optimizer: adagrad, adam, rmsprop, sgd')
parser.add_argument('--verbose', type=int, default=1,
help='Show performance per X iterations')
parser.add_argument('--out', type=int, default=1,
help='Whether to save the trained model.')
return parser.parse_args()
示例11: get_model
# 需要导入模块: from keras import layers [as 别名]
# 或者: from keras.layers import Embedding [as 别名]
def get_model(num_users, num_items, latent_dim, regs=[0,0]):
# Input variables
user_input = Input(shape=(1,), dtype='int32', name = 'user_input')
item_input = Input(shape=(1,), dtype='int32', name = 'item_input')
MF_Embedding_User = Embedding(input_dim = num_users, output_dim = latent_dim, name = 'user_embedding',
init = init_normal, W_regularizer = l2(regs[0]), input_length=1)
MF_Embedding_Item = Embedding(input_dim = num_items, output_dim = latent_dim, name = 'item_embedding',
init = init_normal, W_regularizer = l2(regs[1]), input_length=1)
# Crucial to flatten an embedding vector!
user_latent = Flatten()(MF_Embedding_User(user_input))
item_latent = Flatten()(MF_Embedding_Item(item_input))
# Element-wise product of user and item embeddings
predict_vector = merge([user_latent, item_latent], mode = 'mul')
# Final prediction layer
#prediction = Lambda(lambda x: K.sigmoid(K.sum(x)), output_shape=(1,))(predict_vector)
prediction = Dense(1, activation='sigmoid', init='lecun_uniform', name = 'prediction')(predict_vector)
model = Model(input=[user_input, item_input],
output=prediction)
return model
示例12: fasttext_model
# 需要导入模块: from keras import layers [as 别名]
# 或者: from keras.layers import Embedding [as 别名]
def fasttext_model(max_len=300,
vocabulary_size=20000,
embedding_dim=128,
num_classes=4):
model = Sequential()
# embed layer by maps vocab index into emb dimensions
model.add(Embedding(input_dim=vocabulary_size, output_dim=embedding_dim, input_length=max_len))
# pooling the embedding
model.add(GlobalAveragePooling1D())
# output multi classification of num_classes
model.add(Dense(num_classes, activation='softmax'))
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
model.summary()
return model
示例13: get_model
# 需要导入模块: from keras import layers [as 别名]
# 或者: from keras.layers import Embedding [as 别名]
def get_model(num_users, num_items, latent_dim, regs=[0,0]):
user_input = Input(shape=(1,), dtype='int32', name='user_input')
item_input = Input(shape=(1,), dtype='int32', name='item_input')
MF_Embedding_User = Embedding(input_dim=num_users, output_dim=latent_dim, name='user_embedding',
embeddings_regularizer = l2(regs[0]), input_length=1)
MF_Embedding_Item = Embedding(input_dim=num_items, output_dim=latent_dim, name='item_embedding',
embeddings_regularizer = l2(regs[1]), input_length=1)
user_latent = Flatten()(MF_Embedding_User(user_input))
item_latent = Flatten()(MF_Embedding_Item(item_input))
predict_vector = Multiply()([user_latent, item_latent])
prediction = Dense(1, activation='sigmoid', kernel_initializer='lecun_uniform', name = 'prediction')(predict_vector)
model = Model(inputs=[user_input, item_input], outputs=prediction)
return model
示例14: __build_model
# 需要导入模块: from keras import layers [as 别名]
# 或者: from keras.layers import Embedding [as 别名]
def __build_model(self):
model = Sequential()
embedding_layer = Embedding(input_dim=len(self.vocab) + 1,
output_dim=self.embedding_dim,
weights=[self.embedding_mat],
trainable=False)
model.add(embedding_layer)
bilstm_layer = Bidirectional(LSTM(units=256, return_sequences=True))
model.add(bilstm_layer)
model.add(TimeDistributed(Dense(256, activation="relu")))
crf_layer = CRF(units=len(self.tags), sparse_target=True)
model.add(crf_layer)
model.compile(optimizer="adam", loss=crf_loss, metrics=[crf_viterbi_accuracy])
model.summary()
return model
示例15: CapsuleNet
# 需要导入模块: from keras import layers [as 别名]
# 或者: from keras.layers import Embedding [as 别名]
def CapsuleNet(n_capsule = 10, n_routings = 5, capsule_dim = 16,
n_recurrent=100, dropout_rate=0.2, l2_penalty=0.0001):
K.clear_session()
inputs = Input(shape=(170,))
x = Embedding(21099, 300, trainable=True)(inputs)
x = SpatialDropout1D(dropout_rate)(x)
x = Bidirectional(
CuDNNGRU(n_recurrent, return_sequences=True,
kernel_regularizer=l2(l2_penalty),
recurrent_regularizer=l2(l2_penalty)))(x)
x = PReLU()(x)
x = Capsule(
num_capsule=n_capsule, dim_capsule=capsule_dim,
routings=n_routings, share_weights=True)(x)
x = Flatten(name = 'concatenate')(x)
x = Dropout(dropout_rate)(x)
# fc = Dense(128, activation='sigmoid')(x)
outputs = Dense(6, activation='softmax')(x)
model = Model(inputs=inputs, outputs=outputs)
model.compile(loss='categorical_crossentropy', optimizer='nadam', metrics=['accuracy'])
return model