Я столкнулся с точно такой же проблемой, когда модель «запомнила» предыдущие объекты. В файле конфигурации есть новая конфигурация, которая не была реализована при создании видео.
Внутри файла ssd_mobilenet_v1_pet.config
вы должны указать путь к контрольной точке, с которой начнется тренировка, поэтому он будет иметь все веса от предыдущей тренировки, эта конфигурация равна fine_tune_checkpoint
, ниже, чем from_detection_checkpoint
поэтому он будет использовать указанную контрольную точку, после этого будет load_all_detection_checkpoint_vars
, который по умолчанию установлен на true
, но должен быть false
, если вы хотите, чтобы модель «забыла» объекты, на которых она обучалась.
Проблема в том, что load_all_detection_checkpoint_vars
будет загружать и фиксировать все веса, в том числе в последних слоях, а не только в нижнем слое, поэтому он будет помнить классификацию и обнаружение из прошлых объектов и неправильно классифицировать с новыми, так как ваш *.pbtxt
имеет разные классификации. Если вы установите его на false
, он загрузит данные и изучит новые веса для финальных слоев только на основе вашего тренировочного набора.