带有 MNIST 样本数据的简单 keras 自动编码器不起作用
Simple keras autoencoder with MNIST sample data not working
我正在尝试使用 MNIST 示例数据集在 R
中实现一个简单的 keras autoencoder
。我从博客中得到了我的示例,但它不起作用。我的准确率几乎达到 0 %
。
objective是将每个28 x 28
图像(784个条目)压缩成32个条目的向量:
这是我的代码:
library(keras)
mnist <- dataset_mnist()
x_train <- mnist$train$x
# reshape
x_train <- array_reshape(x_train, c(nrow(x_train), 784))
x_train <- x_train / 255
model <- keras_model_sequential()
model %>%
layer_dense(units = 32, activation = 'relu', input_shape = c(784)) %>%
layer_dense(units=784, activation='sigmoid')
model %>% compile(
loss = 'categorical_crossentropy',
optimizer = 'adam',
metrics = c('accuracy')
)
history <- model %>% fit(
x_train, x_train,
epochs = 15, batch_size = 128,
validation_split = 0.2
)
你想在这里使用binary_crossentropy
作为损失函数。 categorical_crossentropy
适用于多classclass化问题(只有一个输出为1),binary_crossentropy
适用于多标签class化。
我正在尝试使用 MNIST 示例数据集在 R
中实现一个简单的 keras autoencoder
。我从博客中得到了我的示例,但它不起作用。我的准确率几乎达到 0 %
。
objective是将每个28 x 28
图像(784个条目)压缩成32个条目的向量:
这是我的代码:
library(keras)
mnist <- dataset_mnist()
x_train <- mnist$train$x
# reshape
x_train <- array_reshape(x_train, c(nrow(x_train), 784))
x_train <- x_train / 255
model <- keras_model_sequential()
model %>%
layer_dense(units = 32, activation = 'relu', input_shape = c(784)) %>%
layer_dense(units=784, activation='sigmoid')
model %>% compile(
loss = 'categorical_crossentropy',
optimizer = 'adam',
metrics = c('accuracy')
)
history <- model %>% fit(
x_train, x_train,
epochs = 15, batch_size = 128,
validation_split = 0.2
)
你想在这里使用binary_crossentropy
作为损失函数。 categorical_crossentropy
适用于多classclass化问题(只有一个输出为1),binary_crossentropy
适用于多标签class化。