我已经训练过模型,现在想从该模型中标记图像数据集
feature_extractor_url = "https://tfhub.dev/google/imagenet/mobilenet_v2_100_224/feature_vector/2" #@param {type:"string"}
Categories = ["Categorical_Boxplot", "Column_Charts", "Dendogram", "Heatmap", "Line_Chart", "Map", "Node-Link_Diagram", "Ordination_Scatterplot", "Pie_Chart", "Scatterplot", "Stacked_Area_Chart"]
image_generator = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1/255)
IMAGE_SIZE = hub.get_expected_image_size(hub.Module(feature_extractor_url))
image_data = image_generator.flow_from_directory(str("C:/Users/admin/Desktop/phd python projects/tensorflow_img_class/src/testimg/"), target_size=IMAGE_SIZE)
for image_batch,label_batch in image_data:
print("Image batch shape: ", image_batch.shape)
print("Label batch shape: ", label_batch.shape)
break
图像批处理形状:(9,224,224,3), 标签批次形状:(9,1)
with tf.compat.v1.Session() as sess:
sess.run(tf.compat.v1.global_variables_initializer())
export_path ="./test20/{}"
model_prime = tf.keras.experimental.load_from_saved_model(export_path)
pred=model_prime(image_batch)
print(pred.shape)
(9,11)
label_path=np.array(Categories)
print(label_path)
predicted_classes = label_path[np.argmax(pred, axis=-1)]
print(predicted_classes)
Categorical_Boxplot
问题就在这里。它只能为我提供1张图像的预测,而不是全部,而从我的模型形状可以看出,我有11个类和9张图像。我不知道这是怎么回事。我的目标是将这个经过预训练的模型应用于90k张图像并预测其标签(在这11张图像中)。这只是对9张图像的小测试。任何帮助将不胜感激