我正在使用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