对一批批张量图像进行循环



我正在使用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,以在没有的情况下使用predict_generator获得预测,如下所示:

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)

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

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

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

提前感谢您的帮助。

我似乎可以很容易地循环验证生成器,并在它通过所有批次后将其破坏。

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

最新更新