张量图像的成批循环

问题描述 投票:0回答:1

我正在使用ImageDataGenerator.flow_from_directory生成一批张量图像数据,如下所示。

validation_generator = test_datagen.flow_from_directory(
    path_data_valid,
    target_size = (img_width, img_height),
    batch_size = batch_size,
    class_mode = "sparse", shuffle = False)

我想使用预测_生成器将不同批次的张量图像发送到我的tensorflow SavedModel以获得预测,如下所示:

model_predictions = new_model.predict_generator(validation_generator, (nb_validation_samples // batch_size + 1))

对于第一批我知道该怎么做:

val_image_batch, val_label_batch = next(iter(validation_generator))
model_predictions = new_model(val_image_batch)

所有批次如何?如何循环处理一批图像?

我不想使用预测性生成器的原因是,我想通过将每批图像(val_image_batch)设置为输入来调用tflite解释器,如下所示:

tflite_interpreter.set_tensor(input_details[0]['index'], val_image_batch)
tflite_interpreter.invoke()

提前感谢您的帮助。

python tensorflow generator tf-lite
1个回答
0
投票

似乎我可以轻松地遍历validation_generator,并在通过所有批次后将其破坏。

for val_image_batch, val_label_batch in validation_generator:
    cnt += 1
    tf_model_predictions = new_model(val_image_batch)
    tf_pred_dataframe = tf_pred_dataframe.append(pd.DataFrame(tf_model_predictions.numpy(), columns = dataset_labels), ignore_index =True)
    if cnt == nb_validation_samples // batch_size + 1:
        break
© www.soinside.com 2019 - 2024. All rights reserved.