Python 3.x 如何在Keras模型中重塑整个批次?
我试图在Keras中重塑整个批次,使其从(?,28,28,1)转变为(?/10,10,28,28,1)。是否可以使用Keras实施 我有一个数据集,其中标签是每一组图像(我们称之为“包”),而不是每一组图像本身。我想使用KerasPython 3.x 如何在Keras模型中重塑整个批次?,python-3.x,tensorflow,keras,Python 3.x,Tensorflow,Keras,我试图在Keras中重塑整个批次,使其从(?,28,28,1)转变为(?/10,10,28,28,1)。是否可以使用Keras实施 我有一个数据集,其中标签是每一组图像(我们称之为“包”),而不是每一组图像本身。我想使用KerasImageDataGenerator及其flow\u from_directory()方法从文件夹中加载图像,然后在模型本身内部重塑图像 从keras.datasets导入mnist 将keras.backend作为K导入 从keras.layers导入Lambda (
ImageDataGenerator
及其flow\u from_directory()
方法从文件夹中加载图像,然后在模型本身内部重塑图像
从keras.datasets导入mnist
将keras.backend作为K导入
从keras.layers导入Lambda
(x_列,y_列),(x_测试,y_测试)=列表负载数据()
def测试_模型(数据):
从keras导入模型
从keras.models导入输入
输入\图层=输入(形状=数据。形状[1:])
层=λ(λx:K)。重塑(x,
(-1,10,*data.shape[1:]),
输出形状=(-1,10,*data.shape[1:])(输入层)
模型=模型(输入=[输入层],输出=[层])
compile(优化器='adadelta',loss='mean_squared_error')
返回模型。预测(数据,批量大小=60)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
测试单元模型(x单元列车)
我希望模型能够重新塑造每个批次,并以某种方式返回它(老实说,我不知道Keras在预测时如何连接每个批次的结果)。
我得到的不是结果,而是错误:
ValueError:无法将输入数组从形状(6,10,28,28)广播到形状(60,10,28,28)
为什么要这样做?请删除输出形状
参数。这是不必要的,也是错误的(这里不需要批次尺寸,因此不需要-1
),结果是不可能以这种方式拆分为不同的“包”,因为我们无法在任何层中处理y_标签。我将尝试另一种预处理方法。谢谢大家的评论!为什么要这样做?删除output\u shape
参数。这是不必要的,也是错误的(这里不需要批次尺寸,因此不需要-1
),结果是不可能以这种方式拆分为不同的“包”,因为我们无法在任何层中处理y_标签。我将尝试另一种预处理方法。谢谢大家的评论!