本案例通过加载权重文件,读取图片,生成分割图
加载模型
import tensorflow as tf
import matplotlib.pyplot as plt
model=tf.keras.models.load_model("/Users/mym/Desktop/ai/fcn8s/fcn32_vgg8s.h5")
定义读取图片函数
IMG_WIDTH=224
def read_img(path):
img=tf.io.read_file(path)
img=tf.image.decode_jpeg(img,channels=3)
img=tf.image.resize(img,(IMG_WIDTH,IMG_WIDTH))
img=img/255
return img
读取图片并预测
img_data=read_img("VOCdevkit/VOC2007/JPEGImages/000122.jpg")
print(img_data.shape)
img_data_batch=tf.expand_dims(img_data,axis=0)
print(img_data_batch.shape)
prd=model.predict(img_data_batch)
print(prd.shape)
执行结果:
(224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
将预测结果处理,并显示成图片
prd_arr=tf.argmax(prd[0],axis=2)
plt.imshow(prd_arr)
plt.show()

