Ошибка ввода формы MNIST с использованием InceptionV3

#python #image #keras

#python #изображение #keras

Вопрос:

Я пытаюсь использовать изображения MNIST со многими классификаторами, но по какой-то причине теперь он выдает эту ошибку. (раньше было правильно, но я изменил источники InceptionV3). Это предоставленная ошибка:

 
InvalidArgumentError                      Traceback (most recent call last)
~AppDataRoamingPythonPython36site-packagestensorflowpythonframeworkops.py in _create_c_op(graph, node_def, inputs, control_inputs)
   1627  try:
-> 1628     c_op = c_api.TF_FinishOperation(op_desc)
   1629   except errors.InvalidArgumentError as e:

InvalidArgumentError: Negative dimension size caused by subtracting 3 from 1 for 'InceptionV3/InceptionV3/Mixed_6a/Branch_0/Conv2d_1a_1x1/Conv2D' (op: 'Conv2D') with input shapes: [?,1,1,288], [3,3,288,384].

 

Во время обработки вышеупомянутого исключения возникло другое исключение:

 ValueError                                Traceback (most recent call last)
<ipython-input-6-db92b294fe8d> in <module>
----> 1 fileImg1.play("Saliency")

~OneDriveDocumentiGitHubcexplainersrcXlib.py in play(self, ex)
    193         if (ex not in self.dictImgModel):
    194             explainer = self.dictImgExplainer[ex]
--> 195             img = prepareImage(self.name,self.PATH,self.SHAPE_1,self.SHAPE_2,self.dataset,self.X_vec,self.y_vec,explainer,label)
    196             self.dictImgModel[ex] = img
    197 

~OneDriveDocumentiGitHubcexplainersrcalgorithmsKDD.py in prepareImage(name, PATH, SHAPE_1, SHAPE_2, dataset, X_vec, y_vec, explainer, label)
    438                 with slim.arg_scope(inception.inception_v3_arg_scope()):
    439                     _, end_points = inception.inception_v3(processed_images, is_training=False,
--> 440                                                               num_classes=10)
    441                     # Restore the checkpoint
    442                     sess = tf.Session(graph=graph)

~AppDataRoamingPythonPython36site-packagestensorflowcontribslimpythonslimnetsinception_v3.py in inception_v3(inputs, num_classes, is_training, dropout_keep_prob, min_depth, depth_multiplier, prediction_fn, spatial_squeeze, reuse, scope)
    578           scope=scope,
    579           min_depth=min_depth,
--> 580           depth_multiplier=depth_multiplier)
    581 
    582       # Auxiliary Head logits 
 

Какой совет?

Комментарии:

1. Определенно что-то не так с формами: input shapes: [?,1,1,288], [3,3,288,384] . Исправьте форму ввода, и все должно быть в порядке. В противном случае, если вы используете обученную модель, вам может потребоваться переопределить Input слой . Должна быть одна из этих 2 проблем.

2. Вероятно, вам также нужно перетасовать размеры, поскольку размеры канала расположены по-разному в 2 формах. Кроме того, похоже, вам нужно 3 канала. Скопируйте свои каналы.

Ответ №1:

MNIST представляет собой набор изображений с 1 каналом. Все предварительно обученные модели используют 3-канальные (rgb) изображения. Вы можете обойти этот конфликт, повторив 3 раза ваши одноканальные изображения.