tianjiashuo opened a new issue #20290:
URL: https://github.com/apache/incubator-mxnet/issues/20290
## Description
I am training a lstm-trec classification model. This is my training code.
```python
import os
#os.environ["CUDA_VISIBLE_DEVICES"] = "0,1,2"
os.environ["KERAS_BACKEND"] = 'mxnet'
import pandas as pd
import warnings
import re
import matplotlib.pyplot as plt
from nltk.stem import WordNetLemmatizer
from nltk.corpus import stopwords
import numpy as np
np.random.seed(1234)
import keras.backend as K
print(f"Using {K.backend()} as backend")
from keras.preprocessing.text import Tokenizer
from keras.preprocessing.sequence import pad_sequences
from keras.layers import Dense, LSTM, Embedding, Dropout, Conv1D,
MaxPooling1D, Bidirectional
from keras.models import Sequential
warnings.filterwarnings('ignore')
import keras
import numpy as np
max_features = 55
maxlen = 140
embed_size = 128
model_type = 'lstm'
save_dir = os.path.join(os.getcwd(), 'trec')
model_name = 'trec_%s_model_vgg.{epoch:03d}.h5' % model_type
if not os.path.isdir(save_dir):
os.makedirs(save_dir)
filepath = os.path.join(save_dir, model_name)
from keras.callbacks import ModelCheckpoint
checkpoint =
ModelCheckpoint(filepath=filepath,monitor='val_accuracy',verbose=1,save_best_only=True)
callbacks = [checkpoint]
if os.path.exists('trec_test.h5'):
print("remove previous model weights")
os.remove('trec_test.h5')
import numpy as np
x_train=np.load('trec_train_x_char.npy')
y_train=np.load('trec_train_y_char.npy')
x_test=np.load('trec_test_x_char.npy')
y_test=np.load('trec_test_y_char.npy')
x_validation=np.load('trec_validation_x_char.npy')
y_validation=np.load('trec_validation_y_char.npy')
y_train = keras.utils.to_categorical(y_train)
y_validation = keras.utils.to_categorical(y_validation)
y_test = keras.utils.to_categorical(y_test)
#y_train = keras.utils.to_categorical(y_train)
#y_validation = keras.utils.to_categorical(y_validation)
#y_test = keras.utils.to_categorical(y_test)
def get_lstm_model(max_features, embed_size):
model = Sequential()
model.add(Embedding(max_features, embed_size))
model.add(Bidirectional(LSTM(128, recurrent_dropout=0.1)))
#model.add(LSTM(128, recurrent_dropout=0.1))
model.add(Dropout(0.25))
model.add(Dense(64))
model.add(Dropout(0.3))
model.add(Dense(6, activation='softmax'))
model.summary()
model.compile(optimizer='adam', loss='categorical_crossentropy',
metrics=['acc'])
return model
def model_fit(model, x, y, xv, yv):
return model.fit(x, y, batch_size=100, epochs=3,
validation_data=(xv,yv),callbacks=callbacks)
model = get_lstm_model(max_features, embed_size)
model_train = model_fit(model, x_train, y_train, x_validation, y_validation)
def model_predict(model, x):
return model.predict_classes(x)
score = model.evaluate(x_test,y_test)
model.save('trec_test.h5')
print('acc:',score[1])
print('after load')
load_model = keras.models.load_model('trec_test.h5')
load_model.compile(optimizer='adam', loss='categorical_crossentropy',
metrics=['acc'])
score_1 = load_model.evaluate(x_test,y_test)
print(score_1[1])
```
### Error Message
```
Using MXNet backend
/usr/local/lib/python3.7/dist-packages/keras/__init__.py:31:
DeprecationWarning: MXNet support in Keras is going to be discontinued and
v2.2.4.3 is the last release as multi-backend Keras has been discontinued . It
is recommended to consider switching to MXNet Gluon. More information can be
found here: https://github.com/awslabs/keras-apache-mxnet
"https://github.com/awslabs/keras-apache-mxnet", DeprecationWarning)
Using mxnet as backend
remove previous model weights
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
embedding_1 (Embedding) (None, None, 128) 7040
_________________________________________________________________
bidirectional_1 (Bidirection (None, 256) 263168
_________________________________________________________________
dropout_1 (Dropout) (None, 256) 0
_________________________________________________________________
dense_1 (Dense) (None, 64) 16448
_________________________________________________________________
dropout_2 (Dropout) (None, 64) 0
_________________________________________________________________
dense_2 (Dense) (None, 6) 390
=================================================================
Total params: 287,046
Trainable params: 287,046
Non-trainable params: 0
_________________________________________________________________
Train on 5000 samples, validate on 452 samples
Epoch 1/3
5000/5000 [==============================] - 91s 18ms/step - loss: 1.6928 -
acc: 0.2158 - val_loss: 1.6423 - val_acc: 0.2478
Epoch 2/3
5000/5000 [==============================] - 88s 18ms/step - loss: 1.6555 -
acc: 0.2300 - val_loss: 1.6301 - val_acc: 0.2611
Epoch 3/3
5000/5000 [==============================] - 87s 17ms/step - loss: 1.6420 -
acc: 0.2418 - val_loss: 1.6300 - val_acc: 0.2544
500/500 [==============================] - 6s 12ms/step
acc: 0.3080000004768372
after load
500/500 [==============================] - 5s 9ms/step
0.1880000002384186
```
## To Reproduce
https://colab.research.google.com/drive/1J7Kd7cuBe1fnnx6p9TVOZ1_T93vI0kZx?usp=sharing#scrollTo=p_1SQCyjK-29
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]