2017-10-15 1 views
0

Je veux prédire la valeur de mon x_test après avoir compilé un modèle CNN:quelle est la valeur à donner à mon batch_size?

y_test_predict= model.predict(x_test[3]) 

Mon x_test[3] a une forme sur les (8000, 1)

Mais cette ligne de code me donne ce erros que je ne comprends pas vraiment:

Traceback (most recent call last): 
    File "CNN_Learning_Side_Channel_Attack.py", line 155, in <module> 
    test_One_Trace= model.predict(x_test[3]) 
    File "/home/user/.local/lib/python3.4/site-packages/keras/models.py", line 899, in predict 
    return self.model.predict(x, batch_size=batch_size, verbose=verbose) 
    File "/home/user/.local/lib/python3.4/site-packages/keras/engine/training.py", line 1555, in predict 
    check_batch_axis=False) 
    File "/home/user/.local/lib/python3.4/site-packages/keras/engine/training.py", line 121, in _standardize_input_data 
    str(array.shape)) 
ValueError: Error when checking : expected conv1d_1_input to have 3 dimensions, but got array with shape (8000, 1) 

Je serais très reconnaissant si vous pouviez m'aider s'il vous plaît.

Répondre

0

Pour que l'opération de convolution ait un sens, vous devez donner 3 dimensions. Dans votre cas, vous donnez (8000, 1) qui n'a clairement pas de dimensions 3 (il a 2).

Avec des informations fournies en question, il est très difficile de vous donner exactement les dimensions, mais votre problème est surtout avec les dimensions. Vous devriez vérifier vos dimensions d'entrée pendant l'entraînement.