从tensorflow记录数据集中批量提取图像数据集

我最近开始使用tensorflow学习CNN,发现tfrecords在加速训练方面非常有帮助,但我正在与数据API作斗争。
解析后,我的数据集由(图像,标签)元组组成,这对于训练来说很好,但是我试图在另一个数据集中提取图像,以便调用keras.predict()。

我尝试了这个解决方案:

test_set = get_set_tfrecord(test_path, _parse_function, num_parallel_calls = 4)lab = []f = Truefor image, label in test_set.take(600):    if f:      img = tf.data.Dataset.from_tensors(image)      f = False    else:      img = img.concatenate(tf.data.Dataset.from_tensors(image))    lab.append(label.numpy())

这个代码简单粗糙,不是很好,但它有效,除了为了执行连接(即堆叠)操作,它会将每个图像加载到RAM中。

正确的做法是什么?


回答:

你可以使用tf.data.Dataset中的mapAPI。你可以编写以下代码。

result = test_set.map(lambda image, label: image)# 你可以迭代并检查最终收到的内容。# 我期望只有图像。for image in result.take(1):    print(image)

我希望使用上述代码能解决你的问题,并且这个答案对你有帮助。

Related Posts

如何对SVC进行超参数调优?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

如何在初始训练后向模型添加训练数据?

我想在我的scikit-learn模型已经训练完成后再…

使用Google Cloud Function并行运行带有不同用户参数的相同训练作业

我正在寻找一种方法来并行运行带有不同用户参数的相同训练…

加载Keras模型,TypeError: ‘module’ object is not callable

我已经在StackOverflow上搜索并阅读了文档,…

在计算KNN填补方法中特定列中NaN值的”距离平均值”时

当我从头开始实现KNN填补方法来处理缺失数据时,我遇到…

使用巨大的S3 CSV文件或直接从预处理的关系型或NoSQL数据库获取数据的机器学习训练/测试工作

已关闭。此问题需要更多细节或更清晰的说明。目前不接受回…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注