Y_1 = pd.get_dummies(data_test['gender']).values
X_train, X_test, Y_train, Y_test = train_test_split(X_1,Y_1,test_size=0.33, random_state=42)
embed_dim = 196
lstm_out = 128
batch_size = 32

import matplotlib
import matplotlib.pyplot as plt

#ftml
model = Sequential()
model.add(Embedding(max_features, embed_dim, input_length = X_1.shape[1]))
model.add(SpatialDropout1D(0.4))
model.add(LSTM(lstm_out, dropout=0.2, recurrent_dropout=0.2))
model.add(Dense(2,activation='softmax'))
model.compile(loss = 'categorical_crossentropy', optimizer=ftml())
print(model.summary())
'''
X_train, Y_train = X, Y
X_test, Y_test = X_1, Y_1
'''
history = model.fit(X_train, Y_train, epochs=_epochs, batch_size=batch_size, verbose = 2)
plt.plot(history.history['loss'], 'r', label='FTML')

#adam
model = Sequential()
model.add(Embedding(max_features, embed_dim, input_length = X_1.shape[1]))
model.add(SpatialDropout1D(0.4))
model.add(LSTM(lstm_out, dropout=0.2, recurrent_dropout=0.2))
model.add(Dense(2,activation='softmax'))
model.compile(loss = 'categorical_crossentropy', optimizer='adam')
Ejemplo n.º 2
0
def test_ftml():
    optimizers._test_optimizer(ftml())
    optimizers._test_optimizer(
        ftml(lr=0.003, beta_1=0.8, beta_2=0.9, epsilon=1e-5, decay=1e-3))
model.compile(loss='categorical_crossentropy',
              optimizer='adadelta',
              metrics=['accuracy'])
history = model.fit(X, y, batch_size=128, epochs=epochs, verbose=0)
plt.plot(history.history['loss'])
print('adadelta end')

print('adam start')
model = train_model()
model.compile(loss='categorical_crossentropy',
              optimizer='adam',
              metrics=['accuracy'])
history = model.fit(X, y, batch_size=128, epochs=epochs, verbose=0)
plt.plot(history.history['loss'])
print('adam end')

print('ftml start')
x_train, y_train = X, y
model = train_model()
model.compile(loss='categorical_crossentropy',
              optimizer=ftml(beta_1=0.6, beta_2=0.999, epsilon=1e-8))
history = model.fit(x_train, y_train, epochs=epochs, batch_size=128, verbose=0)
plt.plot(history.history['loss'])
print('ftml end')

plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['rmsprop', 'adadelta', 'adam', 'ftml'], loc='upper right')
plt.show()