R-Image Plot / Visualization-MNIST набор данных - PullRequest
0 голосов
/ 10 марта 2019

У меня проблемы с построением изображения пятьдесят в R с использованием набора данных MNIST.

  library(keras)
  mnist <- dataset_mnist()
  train_images <- mnist$train$x
  train_labels <- mnist$train$y
  test_images <- mnist$test$x
  test_labels <- mnist$test$y

  train_images <- array_reshape(train_images, c(60000, 28 * 28))
  train_images <- train_images / 255

  test_images <- array_reshape(test_images, c(10000, 28 * 28))
  test_images <- test_images / 255

  train_labels <- to_categorical(train_labels)
  test_labels <- to_categorical(test_labels)

  network <- keras_model_sequential() % % layer_dense(units = 512, 
             activation = "relu", input_shape = c(28 * 28)) % %
                                  layer_dense(units = 10, activation = "softmax")

  network % % compile(optimizer = "rmsprop",loss = "categorical_crossentropy", 
                                                    metrics = c("accuracy"))

  network % % fit(train_images, train_labels, epochs = 5, batch_size = 128)
  digit<-train_images[50,,]
**Error in train_images[50, , ] : incorrect number of dimensions**

Понятия не имею, что делать с этим сообщением об ошибке. Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 05 июня 2019

mnist$train$x имеет размерность (60000, 28, 28).

library(keras)
mnist <- dataset_mnist()
train_images <- mnist$train$x
dim(train_images)
# 60000    28    28

Чтобы построить 50-е изображение, вам нужно его установить.

digit <- train_images[50, 1:28, 1:28]

Это будет матрица с размером 28x28. Вы должны сначала перенести это. Затем вы можете построить график с помощью функции image.

par(pty="s") # for keeping the aspect ratio 1:1
image(t(digit), col = gray.colors(256), axes = FALSE)

Plot of a digit in MNIST dataset

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...