2

我需要从 .txt 文件中读取许多“图像”,并想用它们生成一个 tensorflow 数据集。目前,我使用 numpy.loadtxt 读取每个矩阵,并创建一个形状为 [N_matrices, height, width, N_channels] 的数组,以及一个带有每个矩阵标签的类似数组。

我通过使用从这两个数组创建一个张量流数据集

inputs = tf.convert_to_tensor(x_train, dtype=tf.float32)
labels = tf.convert_to_tensor(y_train, dtype=tf.float32)
dataset = tf.data.Dataset.from_tensor_slices( {"image": inputs,"label": labels})

我现在想使用以下函数从该数据集创建批次(如此所做):

def load_batch(dataset, batch_size=BATCH_SIZE, height=LENGTH_INPUT, width=LENGTH_INPUT):

    data_provider = slim.dataset_data_provider.DatasetDataProvider(dataset)

    image, label = data_provider.get(['image', 'label'])

    images, labels = tf.train.batch(
    [image, label],
    batch_size=batch_size,
    allow_smaller_final_batch=True)

    return images, labels 

但是,这给了我以下错误:

data_provider = slim.dataset_data_provider.DatasetDataProvider(dataset)

文件“/home/.local/lib/python3.5/site-packages/tensorflow/contrib/slim/python/slim/data/dataset_data_provider.py”,第 85 行,init dataset.data_sources,

AttributeError:“TensorSliceDataset”对象没有属性“data_sources”

为什么我会收到此错误,我该如何解决?我还认为有更好的方法来处理从 txt 文件到 tensorflow(或 tensorflow-slim)的输入,但我发现这方面的信息很少。如何以更好的方式生成我的数据集?

4

0 回答 0