es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Red Neuronal en Python: ADVERTENCIA:tensorflow: El modelo fue construido con forma (None, 7) para la entrada.

Tengo datos que consisten en 60 filas y nueve columnas de un archivo XLSX (8 columnas para x y 1 columna para y). Lo dividí en un 80% de datos para entrenamiento y un 20% para pruebas. Por lo tanto, tengo 12 para las pruebas y 48 para el entrenamiento. Tengo las variables x_test, y_test, x_train y y_train. Utilizo una red neuronal en Python y tengo este código:

import tensorflow as tf
from tensorflow.keras.optimizers import Adam
model = tf.keras.models.Sequential()
adam = Adam(learning_rate=0.01)
model.add(tf.keras.layers.Dense(units=8, activation='relu')) # La capa de entrada tiene 8 nodos
model.add(tf.keras.layers.Dense(units=4, activation='relu')) # Capa oculta con 19 nodos
model.add(tf.keras.layers.Dense(units=1, activation='linear')) # Capa de salida sin activación
model.compile(loss='mae', optimizer=adam)
model.fit(x_train, y_train, epochs=1000)

Luego, realizo una predicción con los datos de prueba usando este código:

y_pred = model.predict(x_test)

Después de eso, puedo predecir nuevos datos utilizando este código:

A = float(input("A: "))
B = float(input("B: "))
C = float(input("C: "))
D = float(input("D: "))
E = float(input("E: "))
F = float(input("F: "))
G = float(input("G: "))
H = float(input("H: "))

Prediction = np.array([A, B, C, D, E, F, G, H])

Luego, realizo la predicción con este código:

New_Prediction = model.predict(Prediction)

Sin embargo, aparece un error como este:

ValueError: Se encontró una excepción al llamar a la capa "sequential_11" (tipo Sequential).

La entrada 0 de la capa "dense_25" no es compatible con la capa: se esperaba min_ndim=2, se encontró ndim=1. Forma completa recibida: (Ninguno,)

Argumentos de llamada recibidos:
  • inputs=tf.Tensor(shape=(None,), dtype=float32)
  • training=False
  • mask=None
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El error sugiere que hay una discrepancia entre la forma de entrada esperada del modelo de la red neural y la forma de los datos de entrada utilizados para la predicción.

    La forma de entrada esperada del modelo es bidimensional con una dimensión mínima de 2. Sin embargo, los datos de entrada proporcionados para la predicción tienen una forma de (None,), que es un arreglo unidimensional con un número desconocido de elementos.

    Para solucionar el error, debes asegurarte de que los datos de entrada pasados al modelo para la predicción tengan la forma correcta. Puedes redimensionar los datos de entrada en un arreglo bidimensional con una fila para que coincida con la forma de entrada esperada.

    Puedes hacer esto modificando el código de predicción de la siguiente manera:

    Prediction_CWA = np.array([[A, B, C, D, E, F, G, H]])
    CWA_Prediction = model.predict(Prediction_CWA)
    

    Esto creará un arreglo bidimensional con una fila y ocho columnas, que coincide con la forma de entrada esperada del modelo.

Comments are closed.