python - 如何从张量流数据集中解包数据?
问题描述
这是我关于从 tfrecord 加载数据的代码:
def read_tfrecord(tfrecord, epochs, batch_size):
dataset = tf.data.TFRecordDataset(tfrecord)
def parse(record):
features = {
"image": tf.io.FixedLenFeature([], tf.string),
"target": tf.io.FixedLenFeature([], tf.int64)
}
example = tf.io.parse_single_example(record, features)
image = decode_image(example["image"])
label = tf.cast(example["target"], tf.int32)
return image, label
dataset = dataset.map(parse)
dataset = dataset.shuffle(buffer_size=10000)
dataset = dataset.prefetch(buffer_size=batch_size) #
dataset = dataset.batch(batch_size, drop_remainder=True)
dataset = dataset.repeat(epochs)
return dataset
x_train, y_train = read_tfrecord(tfrecord=train_files, epochs=EPOCHS, batch_size=BATCH_SIZE)
我收到以下错误:
ValueError: too many values to unpack (expected 2)
我的问题是:
如何从数据集中解包数据?
解决方案
你可以试试这个解决方案:
dataset = read_tfrecord(tfrecord=train_files, epochs=EPOCHS, batch_size=BATCH_SIZE)
iterator = iter(dataset)
x, y = next(iterator)
推荐阅读
- reactjs - 单击按钮时,它应该重定向到其他页面
- matlab - 如何在两个 for 循环中显示很多时间的结果?
- hadoop - 用两次双引号括起来并用逗号分隔到 HIVE 表中的数据?
- javascript - 从表格工作中过滤数据,但再次搜索后没有发现任何内容[Angular,Pagination,Table]
- git - 想要从 git 的一个分支中删除所有提交
- scala - Gatling:test 目标似乎编译了两次
- angular - Rxjs:它是如何完成的和 async/await
- c++ - Qt 应用程序的布局设计问题
- sql - 在sql server中将表达式转换为数据类型日期时间错误的算术溢出错误
- sql-server - SQL Server XML 数据 - 不返回值