как управлять партиями для model.provide_groundtruth

Я пытаюсь использовать API обнаружения объектов TensorFlow 2 с настраиваемым набором данных для нескольких классов для обучения SSD, я взял за основу пример, предоставленный в документации: https://github.com/tensorflow/models/blob/master/research/object_detection/colab_tutorials/eager_few_shot_od_training_tf2_colab.ipynb Моя текущая проблема - когда я начинаю тонкую настройку:

InvalidArgumentError: первое измерение заполнения должно быть рангом входов [2,2] [6] [Op:Pad]

Кажется, это связано с разделом model.provide_groundtruth в train_step_fn, поскольку я уже упоминал, что взял свои данные из записи TensorFlow, я сопоставил их с набором данных и разделил их на партии с помощью padded_batches(tf.data.TFRecordDataset), кажется, что это правильно ли кормить тренировку изображением, но теперь моя проблема - наземная истина, потому что теперь она также конвертируется в пакеты [batch_size,num_detections,ordin_bbox], это проблема? есть идеи о том, как решить эту проблему. Спасибо

PS Я попытался использовать версию измененного файла pipeline.config и запустить model_main_tf2.py, как это было раньше с TensorFlow 1, но этот метод глючит.

1 ответ

Просто чтобы поделиться со всеми, я решил, что моя проблема заключалась в том, что мне удалось правильно разбить данные на партии, изображения и основную информацию, но я никогда не конвертирую свои метки в одну горячую векторную кодировку.

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