AttributeError:'Tensor'对象没有属性'Keras CNN autoencod'

2024-04-29 11:45:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用我的二维数组数据(28x28)编程一个卷积自动编码器。 这是我提到的链接。https://blog.keras.io/building-autoencoders-in-keras.html

参考文献和我的唯一不同之处不是MNIST就是我的。你知道吗

问题应该是由数据分割“X\u train…,X\u test…”部分引起的。 因为我在使用skitlearn train\u test\u split算法时遇到了问题。你知道吗

我知道问题出在哪里。 我就是不知道怎么修。 非常感谢。你知道吗

data1 = pd.read_csv("2D2828.csv")
data2 = data1.as_matrix()
X = data2.astype(np.float32)
X = Input(shape=(28, 28, 1))

ae_cnn = Conv2D(16, (3, 3), activation='relu', padding='same')(X)
ae_cnn = MaxPooling2D((2, 2), padding='same')(ae_cnn)
ae_cnn = Conv2D(8, (3, 3), activation='relu', padding='same')(ae_cnn)
ae_cnn = MaxPooling2D((2, 2), padding='same')(ae_cnn)
ae_cnn = Conv2D(8, (3, 3), activation='relu', padding='same')(ae_cnn)
encoded = MaxPooling2D((2, 2), padding='same')(ae_cnn)

ae_cnn = Conv2D(8, (3, 3), activation='relu', padding='same')(encoded)
ae_cnn = UpSampling2D((2, 2))(ae_cnn)
ae_cnn = Conv2D(8, (3, 3), activation='relu', padding='same')(ae_cnn)
ae_cnn = UpSampling2D((2, 2))(ae_cnn)
ae_cnn = Conv2D(16, (3, 3), activation='relu')(ae_cnn)
ae_cnn = UpSampling2D((2, 2))(ae_cnn)
decoded = Conv2D(1, (3, 3), activation='sigmoid', padding='same')(ae_cnn)

autoencoder = Model(X, decoded)
autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy')

from keras.callbacks import TensorBoard
X_train = X[1:24
X_test = X[25:28]

autoencoder.fit(X_train, X_train,
                epochs=2,
                batch_size=2,

Tags: 数据testtrainactivationcnnkerasrelusame