所以,我再次尝试使用keras运行Inception v3微调,我认为数组有一些问题。我已经看过其他关于这些主题的帖子,但现在我不知道该怎么做。我没有太多的经验。因此,任何帮助都将不胜感激。在
这是完整的代码https://github.com/c3s4grod/PecuScope
出现的错误是:
回溯(最近一次呼叫):
File "C:\Users\Shangai\AppData\Local\conda\conda\envs\PSAI\lib\site-packages\keras\utils\data_utils.py", line 578, in get inputs = self.queue.get(block=True).get() File "C:\Users\Shangai\AppData\Local\conda\conda\envs\PSAI\lib\multiprocessing\pool.py", line 644, in get raise self._value File "C:\Users\Shangai\AppData\Local\conda\conda\envs\PSAI\lib\multiprocessing\pool.py", line 119, in worker result = (True, func(*args, **kwds)) File "C:\Users\Shangai\AppData\Local\conda\conda\envs\PSAI\lib\site-packages\keras\utils\data_utils.py", line 401, in get_index return _SHARED_SEQUENCES[uid][i] File "C:\Users\Shangai\AppData\Local\conda\conda\envs\PSAI\lib\site-packages\keras\preprocessing\image.py", line 1034, in getitem return self._get_batches_of_transformed_samples(index_array) File "C:\Users\Shangai\AppData\Local\conda\conda\envs\PSAI\lib\site-packages\keras\preprocessing\image.py", line 1442, in _get_batches_of_transformed_samples batch_x[i] = x ValueError: could not broadcast input array from shape (8,8,3) into shape (8,8,2048,3)
上述异常是以下异常的直接原因:
回溯(最近一次呼叫):
File "C:/Users/Shangai/PycharmProjects/PSai/INCEPTION.py", line 234, in validation_steps=steps_test) File "C:\Users\Shangai\AppData\Local\conda\conda\envs\PSAI\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper return func(*args, **kwargs) File "C:\Users\Shangai\AppData\Local\conda\conda\envs\PSAI\lib\site-packages\keras\models.py", line 1315, in fit_generator initial_epoch=initial_epoch) File "C:\Users\Shangai\AppData\Local\conda\conda\envs\PSAI\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper return func(*args, **kwargs) File "C:\Users\Shangai\AppData\Local\conda\conda\envs\PSAI\lib\site-packages\keras\engine\training.py", line 2194, in fit_generator generator_output = next(output_generator) File "C:\Users\Shangai\AppData\Local\conda\conda\envs\PSAI\lib\site-packages\keras\utils\data_utils.py", line 584, in get six.raise_from(StopIteration(e), e) File "", line 2, in raise_from StopIteration: could not broadcast input array from shape (8,8,3) into shape (8,8,2048,3)
输入张量的大小似乎不正确。 一般来说,只有当两个数组/张量的维数相同时,广播才起作用。在你的情况下,这不是真的:
您需要展开第一个数组并在正确的位置添加一个大小为1的轴:
^{pr2}$现在每个轴的大小匹配,对于3轴。维度广播是可能的。 为此,您可以使用newaxis或None符号。在
另一种可能是使用函数numpy.expand U dims公司。 对于keras/tensorflow(即tensorflow.newaxis,tensorflow.expand_dims)。在
相关问题 更多 >
编程相关推荐