График потерь против эпох в Керасе по прогнозированию временных рядов - PullRequest
0 голосов
/ 10 марта 2019

график эпохи против потерь

Я получаю выше графика эпохи против потерь при обучении прогнозированию временных рядов в кератах 2.2.4.Конфигурация модели 1 слой lstm, 1 плотный слой, num epochs - 64. На некотором наборе конфигурации я получаю правильный график только с двумя кривыми, одна для набора проверки и одна для набора данных о потерях обучения, в то время как на некоторой конфигурации я получаю этот абсурдный график, показанныйв изображении.Я не могу понять, почему это происходит?Мой код -

def train(trainingData, config):
    inputShape, numNode, numEpoch, batchSize = config
    if nDiff > 0:
            trainingData = np.array(difference(trainingData))
    trainX, trainY = trainingData[:, :-1], trainingData[:, -1]
    trainX = trainX.reshape((trainX.shape[0], trainX.shape[1], 1))
    model = Sequential()
    model.add(LSTM(numNode, activation = 'relu', input_shape = (inputShape, 1)))
    #model.add(Dense(4, activation = 'relu'))
    model.add(Dense(1))
    model.compile(loss = 'mse' , optimizer = 'adam')
    history = model.fit(trainX, trainY,  validation_split = 0.2, epochs = numEpoch, batch_size = batchSize, verbose = 0, shuffle = True)
    # summarize history for loss
    plt.plot(history.history['loss'])
    plt.plot(history.history['val_loss'])
    plt.title('model loss')
    plt.ylabel('loss')
    plt.xlabel('epoch')
    plt.legend(['train', 'test'], loc='upper left')
    plt.savefig(modelName + "ind")         
    return model

Ответы [ 2 ]

0 голосов
/ 10 марта 2019

до

plt.close('all')

после того, как вы закончили с построением одного графика или до того, как вы начнете каждый график

т.е.,

Заменить

plt.savefig(modelName + "ind")         

с

plt.savefig(modelName + "ind")   
plt.close('all')
0 голосов
/ 10 марта 2019

У вас есть metrics=['...'] в вас model.compile() случайно? Если это так, график, вероятно, показывает дополнительную метрику помимо вашей первоначальной потери.

...