Ответ 1
В настоящее время мне жаль говорить, что нет способа.
Как обсуждалось ранее в Github (посмотрите), команда TensorFlow в настоящее время не решает эту проблему.
Пока ничего не могу сказать.
pltrdy
В моем проекте используется Python для обучения MLP на TensorFlow, а затем я экспортирую график и весы таким образом:
tf.train.write_graph(sess.graph_def, "./", "inp.txt", True)
saver.save(sess, 'variables/model.ckpt', global_step=1)
Теперь, хотя использовать оба файла для импорта обратно на Python, кажется невозможным использовать его для Android или С++, поскольку он не может вставить контрольную точку .ckpt.
Прямо сейчас, я использую script freeze_graph.py
, предоставляемый google, чтобы вставить оба файла в один, выполнив:
bazel-bin/tensorflow/python/tools/freeze_graph --input_graph=inp.txt --input_checkpoint=variables/model.ckpt-1 --output_graph=newoutput.pb --output_node_names=output
Мой вопрос: есть ли способ использовать другую функцию вместо tf.train.write_graph
для экспорта с включенными весами?
В настоящее время мне жаль говорить, что нет способа.
Как обсуждалось ранее в Github (посмотрите), команда TensorFlow в настоящее время не решает эту проблему.
Пока ничего не могу сказать.
pltrdy
В настоящее время нет способа сделать это, к сожалению.
Было бы неплохо иметь способ сделать это напрямую. Я имею в виду, было бы здорово сделать что-то одноразовое, вместо того, чтобы генерировать два файла, а затем запускать еще один script для их преобразования.
Это особенно плохо для тех, кто использует гибридную графику на ноутбуке.
В любом случае, поскольку группа TensorFlow сказала:
У нас нет планов поддерживать вывод .pb файлов напрямую. если ты беспокоятся о том, что слишком много файлов контрольных точек занимают место, вы можете ограничьте max_to_keep до 1.
В настоящее время freezegraph - единственный способ решить эту проблему.
Для меня это не очень хорошо, потому что я должен устанавливать его на многих компьютерах ежедневно, так как люди продолжают разбирать вещи, а freezegraph заставляет меня устанавливать его из источника.
Они должны создать другой способ сделать это. Встроенный способ. Специально, если они хотят, чтобы мы использовали для android.