Ошибка при работе на GCP: неожиданный аргумент ключевого слова «Maximum_iterations» - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь создать 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'

Ответы [ 3 ]

0 голосов
/ 16 июля 2018

Я столкнулся с подобной проблемой при работе на моей локальной машине.Ниже приведены шаги, которым я следовал

Мое имя среды conda - TESTENV

  1. Войдите или войдите в свою среду conda, используя

     source activate TESTENV
    
  2. Проверьте, установлен ли pip в среде conda, иначе установите его

     conda install pip
    
  3. Установите TensorFlow версии 1.4.1

    Установите pip --ignore-Установлено --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.4.1-py2-none-any.whl

  4. Установить Keras версии 2.1.2

    conda install keras=2.1.2

0 голосов
/ 25 июля 2018

Попробуйте обновить ваш тензор потока. Проблема будет решена.

CPU:pip install –upgrade tensorflow
GPU:pip install –upgrade tensorflow-gpu
0 голосов
/ 25 июня 2018
conda remove keras*
conda install keras-gpu==2.1.6

решил мою проблему.

...