我需要从 .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)的输入,但我发现这方面的信息很少。如何以更好的方式生成我的数据集?