Python 使用InceptionV3输入MNIST形状时出错

Python 使用InceptionV3输入MNIST形状时出错,python,image,keras,Python,Image,Keras,我试图将MNIST图像与许多分类器一起使用,但由于某些原因,现在它产生了这个错误。(之前是正确的,但我已经更改了接收的来源v3)。 这是提供的错误: InvalidArgumentError Traceback (most recent call last) ~\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\framework\ops.py in _create_c_op

我试图将MNIST图像与许多分类器一起使用,但由于某些原因,现在它产生了这个错误。(之前是正确的,但我已经更改了接收的来源v3)。 这是提供的错误:


InvalidArgumentError                      Traceback (most recent call last)
~\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\framework\ops.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")

~\OneDrive\Documenti\GitHub\cexplainer\src\Xlib.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 

~\OneDrive\Documenti\GitHub\cexplainer\src\algorithms\KDD.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)

~\AppData\Roaming\Python\Python36\site-packages\tensorflow\contrib\slim\python\slim\nets\inception_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 
ValueError回溯(最近一次调用)
在里面
---->1文件img1.播放(“显著性”)
~\OneDrive\Documenti\GitHub\cexplainer\src\Xlib.py正在播放(self,ex)
193如果(不在自身模型中):
194解释者=self.dictmgexplainer[ex]
-->195 img=prepareImage(self.name、self.PATH、self.SHAPE\u 1、self.SHAPE\u 2、self.dataset、self.X\u vec、self.y\u vec、explainer、label)
196自我评价模型[ex]=img
197
prepareImage中的~\OneDrive\Documenti\GitHub\cexplainer\src\algorithms\KDD.py(名称、路径、形状1、形状2、数据集、X\u向量、y\u向量、解释者、标签)
438具有slim.arg_作用域(inception.inception_v3_arg_scope()):
439点,终点=起始点。起始点v3(已处理的图像,是训练=假,
-->440个(类=10)
441#恢复检查点
442 sess=tf.Session(图=图)
inception\u v3中的~\AppData\Roaming\Python\Python36\site packages\tensorflow\contrib\slim\Python\slim\nets\inception\u v3.py(输入、num\u类、is\u训练、辍学\u保留\u prob、最小深度、深度倍增、预测\u fn、空间压缩、重用、范围)
578范围=范围,
579最小深度=最小深度,
-->580深度乘子=深度乘子)
581
582#辅助封头后勤

一些建议?

MNIST是一组单通道图像。所有预先训练的模型都使用3通道(rgb)图像。您可以通过重复3次单通道图像来绕过此冲突。

MNIST是单通道图像的集合。所有预先训练的模型都使用3通道(rgb)图像。您可以通过重复3次单通道图像来绕过此冲突。

形状肯定有问题:
输入形状:[?、1,1288],[3,3288384]
。修正你的输入形状,应该没问题。否则,如果您使用的是经过培训的模型,则可能需要重新定义
输入
层。应该是这两个问题中的一个。您可能还需要洗牌维度,因为通道维度在这两个形状中的位置不同。另外,看起来您需要3个频道。复制你的频道。形状肯定有问题:
输入形状:[?,1,1288],[3,3288384]
。修正你的输入形状,应该没问题。否则,如果您使用的是经过培训的模型,则可能需要重新定义
输入
层。应该是这两个问题中的一个。您可能还需要洗牌维度,因为通道维度在这两个形状中的位置不同。另外,看起来您需要3个频道。复制你的频道。