1

我被分配了一项任务,使用 tensorflow 和 python 对 deeplab V3+ 进行微调。为此,我从 deeplab github 页面下载了冻结模型。! 示例图像

我下载了这个文件。然后我在网上搜索了如何使用这些文件创建模型 示例图像

有仅使用 .ckpt 文件和 .meta 文件创建模型的方法,但我没有这些文件

只有几种方法可用于从 .pb 文件创建图形。我不知道使用 .pb 文件创建图表后该怎么做。我使用这些文件导入冻结模型。先感谢您

4

1 回答 1

1

This should work

import os
from matplotlib import gridspec
from matplotlib import pyplot as plt
import numpy as np
from PIL import Image
import tensorflow as tf

INPUT_TENSOR_NAME = 'ImageTensor:0'
OUTPUT_TENSOR_NAME = 'SemanticPredictions:0'
INPUT_SIZE = 513

with tf.gfile.FastGFile('model/frozen_inference_graph.pb', "rb") as f:
    graph_def = tf.GraphDef()
    graph_def.ParseFromString(f.read())
    g_in = tf.import_graph_def(graph_def, name="")
sess = tf.Session(graph=g_in)


def run(image):
    width, height = image.size
    resize_ratio = 1.0 * INPUT_SIZE / max(width, height)
    target_size = (int(resize_ratio * width), int(resize_ratio * height))
    resized_image = image.convert('RGB').resize(target_size, Image.ANTIALIAS)
    batch_seg_map = sess.run(
        OUTPUT_TENSOR_NAME,
        feed_dict={INPUT_TENSOR_NAME: [np.asarray(resized_image)]})
    seg_map = batch_seg_map[0]
    return resized_image, seg_map

input_image = Image.open('test.jpg')
resized_im, seg_map = run(input_image)
fig = plt.figure()
fig.add_subplot(1, 2, 1)
plt.imshow(resized_im)
fig.add_subplot(1, 2, 2)
plt.imshow(np.ma.masked_equal(seg_map, 0))
于 2018-10-01T08:14:08.773 回答