如何正确创建数据集



我有以下代码:

imagepaths = tf.convert_to_tensor(imagepaths, dtype=tf.string)
labels = tf.convert_to_tensor(labels, dtype=tf.int32)
# Build a TF Queue, shuffle data
image, label = tf.data.Dataset.from_tensor_slices((imagepaths, labels))

我得到以下错误:

image, label = tf.data.Dataset.from_tensor_slices((imagepaths, labels))
ValueError: too many values to unpack (expected 2)

Dataset.from_tensor_slices不应该把它看作张量的长度,而不是输入的数量吗?如何更有效地解决此问题或将数据张量组合到同一变量中?仅供参考:有1800个图像路径和1800个标签彼此对应。需要明确的是,imagepath是指向jpgs图像所在文件的路径。在这之后,我的目标是打乱数据集并建立神经网络模型。

代码就在这里:#从磁盘读取图像image=tf.read_file(image(image=tf.image.decode_jpeg(图像,通道=通道(

# Resize images to a common size
image = tf.image.resize_images(image, [IMG_HEIGHT, IMG_WIDTH])
# Normalize
image = image * 1.0/127.5 - 1.0
# Create batches
X, Y = tf.train.batch([image, label], batch_size=batch_size,
capacity=batch_size * 8,
num_threads=4)

尝试这样做:

def transform(entry):
img = entry[0]
lbl = entry[1]
return img, lbl
raw_data = list(zip(imagepaths, labels))
dataset = tf.data.Dataset.from_tensor_slices(raw_data)
dataset = dataset.map(transform)

如果你想看看你的数据集,你可以这样做:

for e in dataset.take(1):
print(e)

您可以添加多个映射函数,然后可以在数据集上使用shuffle和batch为训练做准备;(

相关内容

  • 没有找到相关文章

最新更新