我有一个我已经展平的图像列表(50*45->2250)。我想用这个作为自动编码器的输入。当我‘拟合’自动编码器时,我得到以下错误:
“检查输入时出错:要求input_4具有形状(2250,),但得到具有形状(1,)的数组”
为什么输入形状(1,)?
train_images2 =[]
for im in train_images:
im = transform.resize(im,(50,45),mode='constant',anti_aliasing=True)
im = im[:,:,0]
im = im/255.0
im = im.flatten()
train_images2.append(im)
train_images = train_images2.copy()
print(np.asarray(train_images).shape) #(792, 2250)
print(train_images[0].shape) #(2250,)
# Dimensie van de hidden encoding layer
encoding_dim = 64
# Placeholder voor input
input_img = Input(shape=(2250))
# "encoded" representation
encoded = Dense(encoding_dim, activation='relu')(input_img)
# "decoded" representation
decoded = Dense(2250, activation='sigmoid')(encoded)
# Creëer de autoencoder
autoencoder = Model(input_img, decoded)
autoencoder.summary()发布于 2020-11-29 01:06:56
解决方案:'train_images‘是一个列表。我必须将其更改为数组。
train_images = np.array(train_images)
https://stackoverflow.com/questions/65052007
复制相似问题