Errore con il input_shape dovrebbe avere 4 dimensioni, ma ha array con forma (73257, 32, 32)

0

Domanda

Ho in scala di grigi di questa forma: x_train_grey.shape = (73257, 32, 32)

Specificare il primo strato di simile a questo:

Flatten(input_shape=(32,32,1)' Perché non passare il batch_size e la scala di grigi hanno solo 1 canale. Ma mi da questo errore:

ValueError: Error when checking input: expected flatten_1_input to have 4 dimensions, but got an array with shape (73257, 32, 32)

Non capisco cosa c'è di sbagliato, si prega di aiuto. Capisco che questo è stato chiesto molte volte, ma non riesco a trovare una soluzione.

Evviva!

2

Migliore risposta

1

Il problema probabilmente risiede nel modo in cui si sta passando i dati per il vostro modello. Se il vostro ingresso in forma (batch_size, 32, 32) quindi provare qualcosa di simile a questo:

import tensorflow as tf

grey_scale_images = tf.random.normal((64, 32, 32))

model = tf.keras.Sequential()
model.add(tf.keras.layers.Flatten(input_shape=(32,32,1)))

print(model(grey_scale_images).shape)
# (64, 1024)

Aggiornamento: Sia input_shape=(32,32,1) e input_shape=(32,32) sarà il lavoro. Dipende da come si inseriscono i dati per il tuo modello:

import tensorflow as tf

grey_scale_images = tf.random.normal((64, 32, 32))
Y = tf.random.normal((64, 1024))
model = tf.keras.Sequential()
model.add(tf.keras.layers.Flatten(input_shape=(32, 32, 1)))
model.compile(loss='MSE')
model.fit(grey_scale_images, Y)
2021-11-24 08:40:01

In realtà, semplicemente passando input_shape=(32,32) ha funzionato, grazie!
mankojag

Penso che ti sbagli...Controllare il mio aggiornati risposta.
AloneTogether

Grazie, ma io non sono abbastanza sicuro che questo è giusto. Ho provato input_shape=(32,32,1) ma non funziona. Cosa suggerisci deve essere fatto prima di passare che invece di input_shape=(32,32)? C'è qualche regola che dice (32,32,1) dovrebbe essere utilizzata (32,32) o non importa, come si dice entrambe le opzioni di lavoro?
mankojag

Controllare il fondo della mia risposta. Come ho detto sia il lavoro, ma dipende da che cosa i vostri dati sembra
AloneTogether
-1

Sto ancora imparando questa roba troppo ma credo che "1" come dimensione del numero di voci non è possibile. Anche se è possibile, è un inizio. "1" come le dimensioni di un asse non ha senso per me. Chiunque altro?

2021-11-24 07:34:08

Grazie, in effetti input_shape=(32,32) sembra funzionare bene
mankojag

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................