Набор данных Tensorflow: получить массив пустых меток - PullRequest
0 голосов
/ 12 марта 2019

У меня есть tf.data.Dataset, dataset, который имеет описание этой функции:

    feature_description = {
        'text_features': tf.FixedLenFeature([100], tf.int64),
        'numeric_features': tf.FixedLenFeature([200], tf.float32),
        'label': tf.FixedLenFeature([1], tf.int64),
    }

Я хотел бы получить массив NumPy только метки из каждого образца.Я могу получить полный массив NumPy, выполнив следующее:

def load_dataset(dataset):
    """ Load an entire tf dataset into memory
    """
    max_elems = np.iinfo(np.int32).max

    # Make a single batch out of the entire dataset and get that element
    dataset = dataset.batch(max_elems)
    dataset_tensors = tf.contrib.data.get_single_element(dataset)

    # Create a session and evaluate `whole_dataset_tensors` to get arrays.
    with tf.Session() as sess:
        return sess.run(dataset_tensors)

Но это загружает в память полный dataset как массив NumPy (и вызывает на моем ноутбуке OutOfMemoryError).Я просто хочу получить ярлыки.

Одна мысль: может быть, я могу сделать что-то вроде:

dataset = dataset.map(lambda x: x['label'] result = load_dataset(dataset)?

Есть предложения?

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