Тензор потока: как сохранить график с сокращенными весами

Я применил итеративное сокращение к своей нейронной сети, как в этой работе, чтобы уменьшить размер моей сети примерно на 90%. Идея состоит в том, чтобы удалить ребра, которые не важны для моей сети (вес близок к нулю). Я выполняю следующий код для сохранения модели и графика вычислений (тот же код, что и в train.py), где sparse_w является именем имен переменных, которые мы хотим сохранить (т.е. все переменные, не входящие в это условие, удаляются и могут быть выброшены):

# Save model objects to serialized format
final_saver = tf.train.Saver(sparse_w)
final_saver.save(sess, "model_ckpt_sparse_retrained")

# Save graph, this is probably where I go wrong
tf.train.write_graph(sess.graph_def, '.', "my_graph.pb", as_text=False)

У меня возникают проблемы, когда я пытаюсь заморозить свой график для вывода. Или вообще, когда я загружаю сохраненный график + модель. Когда я загружаю сохраненный график, чтобы заморозить его:

from tensorflow.python.tools import freeze_graph
import tensorflow as tf

freeze_graph.freeze_graph(input_graph="my_graph.pb",
                          input_saver="",
                          input_binary=True,
                          input_checkpoint="model_ckpt_sparse_retrained",
                          output_node_names="y_",
                          restore_op_name="save/restore_all",
                          filename_tensor_name="save/Const:0",
                          output_graph="frozen_graph.pb",
                          clear_devices=True,
                          initializer_nodes="")

Я получаю ошибку: Attempting to use uninitialized value Variable_2, Я предполагаю, что это ожидаемо и происходит от tenorflow, пытающегося использовать веса, которые я не сохранил. Это вероятно, потому что я не получаю эту ошибку для плотной модели (со всеми сохраненными весовыми переменными).

Итак, я полагаю, мне нужен способ построить новый граф без сокращенных весов, а затем сохранить этот граф в pb файл. Но как мне это сделать?

0 ответов

Другие вопросы по тегам