Я пытаюсь создать RNN для распознавания и предсказания символов, используя книгу в качестве входных данных.Запуск каждой эпохи на моем локальном компьютере занимал несколько минут, поэтому я попытался запустить ее на GCP.
Я получаю следующую ошибку при выполнении своего кода в Google Cloud Platform.Но код выполняется нормально, когда я пытаюсь на моем локальном компьютере использовать Spyder3.
# Character Prediction using RNN
# Small LSTM Network to Generate Text for Alice in Wonderland
import numpy
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Dropout
from keras.layers import LSTM
from keras.callbacks import ModelCheckpoint
from keras.utils import np_utils
# load ascii text and covert to lowercase
filename = "Alice in Wonderland.txt"
raw_text = open(filename).read()
raw_text = raw_text.lower()
# create mapping of unique chars to integers
chars = sorted(list(set(raw_text)))
char_to_int = dict((c, i) for i, c in enumerate(chars))
# summarize the loaded data
n_chars = len(raw_text)
n_vocab = len(chars)
print ("Total Characters: ", n_chars)
print ("Total Vocab: ", n_vocab)
# prepare the dataset of input to output pairs encoded as integers
seq_length = 100
X_train = []
y_train = []
for i in range(0, n_chars - seq_length, 1):
seq_in = raw_text[i:i + seq_length]
seq_out = raw_text[i + seq_length]
X_train.append([char_to_int[char] for char in seq_in])
y_train.append(char_to_int[seq_out])
n_patterns = len(X_train)
print ("Total Patterns: ", n_patterns)
# reshape X to be [samples, time steps, features]
X = numpy.reshape(X_train, (len(X_train), seq_length, 1))
# normalize
X = X / float(n_vocab)
# one hot encode the output variable
y = np_utils.to_categorical(y_train)
# define the LSTM model
model = Sequential()
model.add(LSTM(256, input_shape=(X.shape[1], X.shape[2])))
model.add(Dropout(0.2))
model.add(Dense(y.shape[1], activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam')
# define the checkpoint
filepath="weights-improvement-{epoch:02d}-{loss:.4f}.hdf5"
checkpoint = ModelCheckpoint(filepath, monitor='loss', verbose=1, save_best_only=True, mode='min')
callbacks_list = [checkpoint]
# fit the model
model.fit(X, y, epochs=20, batch_size=128, callbacks=callbacks_list)
Ошибка возникает при создании LSTM, в следующей строке:
model.add(LSTM(256, input_shape=(X.shape[1], X.shape[2])))
ЭтоОшибка:
Файл "/root/anaconda3/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py", строка 2957, в rnn Maximum_iterations = input_length)
TypeError: while_loop () получил неожиданный аргумент ключевого слова 'Maximum_iterations'