ValueError:steps = None仅对基于keras.utils.Sequence类的生成器有效

时间:2018-09-07 11:45:12

标签: python tensorflow keras

解码器模块如下:

angular

在训练自动编码器进行一些工作之后,我已经提取了潜在空间表示,现在想再次将其传递给解码器层,以通过以下给定指令预测重构的图像。但是给定的指令给出了这个错误:

x= Conv2D(4, (3, 3), activation='relu',padding='same')(latent_space)
x= Conv2D(8, (3, 3), activation='relu',padding='same')(x)
x= Conv2D(16, (3, 3), activation='relu', padding='same')(x)
x= Conv2D(16, (3, 3), activation='relu', padding='same')(x)
x= UpSampling2D(size=(2, 2))(x)
x= Conv2D(32, (3, 3), activation='relu', padding='same')(x)
x= Conv2D(32, (3, 3), activation='relu', padding='same')(x)
x= Conv2D(32, (3, 3), activation='relu', padding='same')(x)
x= UpSampling2D(size=(2, 2))(x)
x= Conv2D(64, (3, 3), activation='relu', padding='same')(x)
x= Conv2D(64, (3, 3), activation='relu', padding='same')(x)
x= UpSampling2D(size=(2, 2))(x)
x= Conv2D(128, (3, 3), activation='relu', padding='same')(x)
x= Conv2D(128, (3, 3), activation='relu', padding='same')(x)
decoded= Conv2D(3, (3, 3), activation='sigmoid', padding='same')(x)

test_generator.reset()
decoded_imgs=decoder.predict_generator(latent_space,steps=None) #error in this line

请告诉我在编写此代码时我在做什么错。 需要帮助.....

4 个答案:

答案 0 :(得分:1)

您需要将步数分配给predict_generator,因此该函数知道要从生成器获取多少个示例步。仅当您具有实现Sequence接口的生成器时,才可以跳过此参数,因为sequence包含其长度。

答案 1 :(得分:0)

我遇到了相同的错误,并通过确保步长大于0来解决它。

答案 2 :(得分:0)

安装keras 2.1.3

此版本不会产生此错误。

答案 3 :(得分:-1)

出现此错误时,我的Tensorflow版本为1.13.1,而keras版本为2.2.4。

我通过以下命令将keras降级来解决:

pip uninstall keras
pip install keras==2.1.2