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)