Как загрузить и отобразить список словарей / jsons с помощью tf.data.Dataset - PullRequest
0 голосов
/ 16 марта 2020

У меня есть набор данных / записи, хранящиеся в списке словарей. Словарь может быть довольно сложным. Я хотел бы загрузить этот список через API набора данных TensorFlow. Как я могу это сделать? Я пробовал что-то подобное, однако, это не работает:

import tensorflow as tf
import json

LABELS_IDS = ["cat", "dog", "animal"]

def parse_record(record):
    image = tf.io.read_file(record["_file"])
    image = tf.image.decode_jpeg(image)
    image = tf.image.convert_image_dtype(image, tf.float32)
    image = tf.image.resize(image, [224, 224])
    image = tf.image.random_flip_left_right(image, seed=None)

    labels = []
    for element in record["_categories"]:
        if element in LABELS_IDS:
            labels.append(LABELS_IDS.index(element))

    one_hot_labels = tf.reduce_sum(tf.one_hot(labels, len(LABELS_IDS)), axis=0)
    return image, one_hot_labels

records = [{"_file":"images/test.jpg", "_categories": ["cat", "animal"]}]

train_x = tf.data.Dataset.from_tensor_slices(records).map(parse_record)
...