TensorFlow создает набор данных из массива numpy

TensorFlow, поскольку он создает хороший способ хранения данных. Это, например, используется для хранения данных MNIST в примере:

>>> mnist
<tensorflow.examples.tutorials.mnist.input_data.read_data_sets.<locals>.DataSets object at 0x10f930630>

Предположим, что есть входной и выходной массивы numpy.

>>> x = np.random.normal(0,1, (100, 10))
>>> y = np.random.randint(0, 2, 100)

Как преобразовать их в набор данных tf?

Я хочу использовать такие функции, как next_batch

Ответ 1

Объект Dataset является частью учебника MNIST, а не основной библиотеки TensorFlow.

Вы можете видеть, где это определено здесь:

Ссылка GitHub

Конструктор принимает аргумент изображений и ярлыков, поэтому предположительно вы можете передать свои собственные значения.

Ответ 2

В качестве альтернативы вы можете использовать функцию tf.train.batch() для создания партии ваших данных и в то же время исключить использование tf.placeholder. Подробнее см. В документации.

>>> images = tf.constant(X, dtype=tf.float32) # X is a np.array
>>> labels = tf.constant(y, dtype=tf.int32)   # y is a np.array
>>> batch_images, batch_labels = tf.train.batch([images, labels], batch_size=32, capacity=300, enqueue_many=True)