J'ai essayé plusieurs fois et lu la réponse à la question semblable à moi, mais je n'ai toujours pas résolu.Erreur lors de la vérification d'entrée: acc_input attendu pour avoir 4 dimensions, mais a obtenu le tableau avec la forme (200, 3, 1)
Erreur lors du contrôle d'entrée: acc_input devrait avoir 4 dimensions, mais se matrice de forme (200, 3, 1)
model.fit(x=[acc_,gyro_],y=[scaled_labels],batch_size=1,validation_split=0.2, epochs=2,verbose=1,shuffle=False)
La première couche de mon réseau est la couche d'entrée
acc_input_tensor = Input(shape=(200,3,1),name = 'acc_input')
gyro_input_tensor = Input(shape=(200,3,1),name= 'gyro_input')
L'entrée correspond aux données d'accélération et de gyroscope. 200 se rapporte à 200 ensembles de données, 3 se rapporte à l'accélération de la valeur mesurée de x, y, z. Je mets les données d'accélération et les données gyroscopiques remodeler en (200 * 3 * 1)
acc_ = np.reshape(acc,(200,3,1))
gyro_ = np.reshape(gyro,(200,3,1))
L'entrée sont des données en trois dimensions, l'entrée de données donné est à trois dimensions, pour lesquelles il existe des exigences à quatre dimensions? Comment le modifier?
Merci pour votre réponse! J'utilise les données d'accélération dans un cycle en entrée (200 * 3), acc_input_tensor = entrée (forme = (200,3), name = 'acc_input' gyro_input_tensor = Entrée (shape = (200,3), name = 'gyro_input') C'est encore une erreur à modifier – xianglala
Je parle (200 * 3) de remodeler en (20 * 30 * 1) dans la couche de convolution , Les couches de convolution requièrent des données tridimensionnelles – xianglala
La forme d'entrée de la convolution dépend du type de couche de convolution utilisé, mais dans tous les cas 'shape =()' ne prend pas la taille de la première dimension, seulement la seconde, troisième, quatrième ... et ainsi de suite. – DJK