Как исправить керасы ValueError для dens_2 - PullRequest
0 голосов
/ 23 мая 2019

У меня были большие проблемы с созданием автоэнкодера в кератах, который позволит мне загружать пользовательские наборы данных для обучения и тестирования. Мне удалось найти код, который должен работать, но я продолжаю получать сообщение об ошибке, когда пытаюсь его запустить. Вот мой код, который я буду запускать на Raspberry Pi:

  from keras.layers import Input, Dense
  from keras.models import Model
  import numpy as np
  from PIL import Image 
  from keras.preprocessing.image import. ImageDataGenerator
  import matplotlib.pyplot as plt
  image = Image.open('/home/pi/Downloads/neural-network-master/data/train/class_a/test(2chunk0.wav).png.jpg')
  encoding_dim = 28
  input_img = Input(shape=(65536,))
  encoded = Dense(encoding_dim, activation='relu')(input_img)
  decoded = Dense(65536, activation='sigmoid')(encoded)
  autoencoder = Model(input_img, decoded)
  encoder = Model(input_img, encoded)
  encoded_input = Input(shape=(encoding_dim,))
  decoder_layer = autoencoder.layers[-1]
  decoder = Model(encoded_input, decoder_layer(encoded_input))
  autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy')  
train_datagen=ImageDataGenerator(rescale=1./255)
  train_generator = train_datagen.flow_from_directory(
     directory=r"/home/pi/Downloads/neural-network-master/data/train",
     batch_size=32,
     class_mode="categorical",
     shuffle=True,
     seed=42
  )
  autoencoder.fit_generator(train_generator,
        epochs=2,
        steps_per_epoch=256,
        shuffle=True)
  encoded_img = encoder.predict(np.array(image))
  print (encoded_img)
  decoded_img = decoder.predict(encoded_img)
  plt.imshow(decoded_img)
  plt.imshow(image)

Я получаю следующую ошибку:

    ValueError: Error when checking target: expected dense_2 to have 4 dimensions, but got array with shape (262, 1)

Я полагаю, что это вызвано тем, что керас не нравится форма ввода. Любая помощь приветствуется. Благодарю. Кроме того, было бы замечательно, если бы кто-то мог объяснить мне, что значит плотность_2 ...

...