Я хочу подготовить модель для классификации меток 90K, поэтому я использовал так называемое постепенное обучение.Инкрементальное обучение с использованием TensorFlow
Первоначально я обучал модель классификации только 1K-меток, затем добавлял еще 1K-метки и расширял выходной размер финального уровня FC до 2K и тренировал еще несколько эпох. После этого я добавляю еще один ярлык 1K и т. Д.
Обратите внимание, что это НЕ настраивается, в котором ВСЕ параметры перед последним FC фиксированы, поэтому я могу кэшировать выходные функции. В моем случае мне нужно обновить все переменные на каждом этапе.
Решение Я проектировал это:
- поезд 1К этикеток.
- сохранить модель.
- изменить график, чтобы последний уровень FC отображал размер 2K.
- инициализировать все переменные
- загрузить предыдущую контрольную точку, которая переопределит все параметры, но весы последнего слоя.
- поезд снова и повторить
Таким образом, ключевым моментом здесь является то, чтобы реализовать частичное восстановление контрольно-пропускных пунктов.
В TensorFlow, я использую такой код для загрузки контрольной точки:
saver.restore(sess, "model.ckpt")
Тем не менее, не удается, когда есть несоответствие формы.
Может ли кто-нибудь помочь, как частично восстановить/инициализировать переменные, так и как реализовать постепенное обучение по-другому?
Спасибо за ваш ответ! Я попробую это! – HanXu