Импорт и изменение данных MNIST, numpy - PullRequest
0 голосов
/ 20 октября 2018

Я хочу изменить набор данных MNIST из формы (70000, 784) в (70000, 28, 28), пробуется следующий код, но он получает ошибку TypeError:

TypeError: только целочисленные скалярные массивыможно преобразовать в скалярный индекс

df = pd.read_csv('images.csv', sep=',', header=None)
x_data = np.array(df)

x_data = x_data.reshape(x_data[0], 28, 28)

Это работает, но медленно

data = np.array(df)
x_data = []

for d in data:
    x_data.append(d.reshape(28,28))

x_data = np.array(x_data)

Как это должно быть с numpy.reshape () и без зацикливания?Мэнни, спасибо!

1 Ответ

0 голосов
/ 23 октября 2018

Я думаю, проблема со вторым заключается в том, что при использовании цикла for это может занять больше времени.Так что я бы посоветовал вам попробовать это

import tensorflow as tf


#load the data

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data', validation_size=0)

#considering only first 2 data points
img = mnist.train.images[:2]
x = tf.reshape(img, shape=[-1, 28, 28, 1]) # -1 refers to standard feature which is equivalent to 28*28*1 here

В идеале я получил форму для x как (2, 28, 28, 1).Надеюсь, это поможет !!

...