frozen_inference_graph.pb, это замороженный граф, который больше не может быть обучен, он определяет graphdef и фактически является сериализованным графом и может быть загружен с этим кодом:
def load_graph(frozen_graph_filename):
with tf.gfile.GFile(frozen_graph_filename, "rb") as f:
graph_def = tf.GraphDef()
graph_def.ParseFromString(f.read())
return graph_def
tf.import_graph_def(load_graph("frozen_inference_graph.pb"))
сохраненная модель является модельюсгенерированный tf.saved_model.builder и должен быть импортирован в сеанс, этот файл содержит полный граф со всеми весами обучения (как и замороженный граф), но здесь можно обучиться, и этот не сериализован и нуждается вбыть загруженным этим фрагментом.[] Являются константами тегов, которые могут быть прочитаны сохраненный_модель_кли .Эта модель также часто используется для прогнозирования, как, например, google ml engine: файлы
with tf.Session() as sess:
tf.saved_model.loader.load(sess, [], "foldername to saved_model.pb, only folder")
model.ckpt являются контрольными точками, сгенерированными во время обучения, которые используются для возобновления обучения или для резервного копирования, когдачто-то идет не так после тренировки.Если у вас есть сохраненная модель и замороженный график, вы можете проигнорировать это. Файлы
.pbtxt в основном такие же, как и в предыдущих обсуждавшихся моделях, но затем читаемые человеком, а не двоичные.Их также можно игнорировать.
Чтобы ответить на вопрос о переходе: сохраненные модели можно преобразовать в замороженный график и наоборот, хотя сохраненный_модель, извлеченный из замороженного графика, также не поддается обучению, но так оно и есть.хранится в сохраненном формате модели.Контрольные точки могут быть считаны и загружены в сеанс, и там вы можете построить сохраненную модель из них.
Надеюсь, я помог, любые вопросы, задавайте!