Google Colab - Сегментация экземпляров: модели не удалось начать переподготовку (тонкую настройку), обучение немедленно прекратилось в INFO: tenorflow: Starting Queues. ^ C - PullRequest
0 голосов
/ 26 января 2020

Информация о системе

  • Что такое каталог верхнего уровня используемой вами модели : / content / gdrive / My \ Drive / tenorflow_1.9 / модели / исследования
  • Написал ли я собственный код (в отличие от использования сценария со стандартным примером, предоставленным в TensorFlow) : Использовал измененный сценарий pets_tf_record для создания tf_record. Script_file
  • Платформа и распространение ОС (например, Linux Ubuntu 16.04) : Использование Google Colab
  • TensorFlow установлен из (источник) или бинарный) : pip install --upgrade tenorflow == 1.9
  • Версия TensorFlow (используйте команду ниже) : установлены и хранилище тензорного потока, и библиотека тензорного потока v1.9

Опишите проблему

Я пытаюсь переобучиться mask_rcnn_inception_v2 . Как только я выдаю команду !python object_detection/train.py --train_dir=object_detection/moved_data/training_inception --pipeline_config_path=object_detection/moved_data/training_inception/mask_rcnn_inception_v2_coco.config, тренировка прекращается и обработка прекращается. Заметная вещь - это ram bar, он остается нормальным, когда я запускаю команду, и загрузка контрольной точки et c продолжает вести журнал, но непосредственно перед завершением сначала Ram bar показывает 50% потребления в течение нескольких секунд, а затем он становится желтым и показывает 80% потребления и программа завершается. Учитывая некоторую ошибку в модели, я попытался переобучить mask_rcnn_resnet101 , но он также прекратил обучение после еще двух строк регистрации.

Исходный код / ​​журналы

После некоторых вставленных ниже строк предупреждений и регистрации начало было остановлено на

INFO:tensorflow:Restoring parameters from /content/gdrive/My Drive/tensorflow_1.9/models/research/object_detection/moved_data/pre_trained_model/mask_inception/mask_rcnn_inception_v2_coco_2018_01_28/model.ckpt

INFO:tensorflow:Restoring parameters from /content/gdrive/My Drive/tensorflow_1.9/models/research/object_detection/moved_data/pre_trained_model/mask_inception/mask_rcnn_inception_v2_coco_2018_01_28/model.ckpt INFO:tensorflow:Running local_init_op. INFO:tensorflow:Running local_init_op. INFO:tensorflow:Done running local_init_op. INFO:tensorflow:Done running local_init_op. INFO:tensorflow:Starting Session. INFO:tensorflow:Starting Session. INFO:tensorflow:Saving checkpoint to path object_detection/moved_data/training_inception/model.ckpt INFO:tensorflow:Saving checkpoint to path object_detection/moved_data/training_inception/model.ckpt INFO:tensorflow:Starting Queues. INFO:tensorflow:Starting Queues. ^C

и resnet101 выполнили еще две строки и завершили в

INFO:tensorflow:Restoring parameters from /content/gdrive/My Drive/tensorflow_1.9/models/research/object_detection/moved_data/pre_trained_model/mask_inception/mask_rcnn_inception_v2_coco_2018_01_28/model.ckpt

INFO:tensorflow:Restoring parameters from /content/gdrive/My Drive/tensorflow_1.9/models/research/object_detection/moved_data/pre_trained_model/mask_inception/mask_rcnn_inception_v2_coco_2018_01_28/model.ckpt INFO:tensorflow:Running local_init_op. INFO:tensorflow:Running local_init_op. INFO:tensorflow:Done running local_init_op. INFO:tensorflow:Done running local_init_op. INFO:tensorflow:Starting Session. INFO:tensorflow:Starting Session. INFO:tensorflow:Saving checkpoint to path object_detection/moved_data/training_inception/model.ckpt INFO:tensorflow:Saving checkpoint to path object_detection/moved_data/training_inception/model.ckpt INFO:tensorflow:Starting Queues. INFO:tensorflow:Starting Queues. INFO:tensorflow:global_step/sec: 0 INFO:tensorflow:global_step/sec: 0 INFO:tensorflow:Recording summary at step 0. INFO:tensorflow:Recording summary at step 0. ^C

И то, и другое было прервано, когда индикатор барана стал желтым, показывая более 80% использования

Я прошел через много открытых и закрытых проблем и решений на github, stackoverflow и других форумах, а также, например, gitlab и некоторых других. другой веб-сайт, например, оригинальная документация веб-сайта tenorflow, все заявили, что это может быть проблема ввода модели, иными словами, это проблема или ошибка в tfrecords, train.record, test.record . Поэтому я наблюдал и внимательно изучал файл tfrecords и проверял их. Когда я конвертировал данные в tfrecord, моя структура каталогов была похожа на

| --dataset (84 1280x720 фото)

- | --train

---- | - Аннотации

------ | --mask dir

-------- | --mask png файлы

---- - | --xmls dir

-------- | - окно с привязкой к экземпляру xml файлы

---- | --JPEGImages dir

------ | - данные реальных изображений

---- | --label_map.pbtxt

- | --test (5 1280x720 фото)

---- | - Аннотации

------ | --masks dir

-------- | --mask png files

------ | --xmls dir

-------- | - окно с привязкой к экземпляру xml файлы

---- | --JPEGImages dir

------ | - данные реальных изображений

---- | --label_map.pbtxt

Для проверки tf_record, мой код было import tensorflow as tf for example in tf.python_io.tf_record_iterator("object_detection/moved_data/dataset/train/train.record-00000-of-00001"): result = tf.train.Example.FromString(example) print(result.features.ListFields()) break

, и результат был (в первом примере изображение содержит 7 хлопковых растений, таким образом, маска, связанная коробка и этикетка, текст и c. также 7) [(<google.protobuf.pyext._message.FieldDescriptor object at 0x7f3e7d1368d0>, {'image/key/sha256': bytes_list { value: "214bbd487a25966acddfa6c4209d8752ad8369f478b0fd40c453cee138b8bf31" } ,'image/object/mask': bytes_list { value: "\211PNG\r\n\032\n\000\000\000\rIHDR\000\000\00۔۔۔202\314(\341\000\000\000\000IEND\256B\202" value: "\211PNG\r\n\032\n\000\000\000\rIHDR\000\000\005۔۔۔\304\035\366\177\375\262\266\022\000\000\000\000IEND\256B\202" value: "\211PNG\r\n\032\n\000\000\000\rIHDR\000\000\005۔۔۔363?f8\312\3146\363\351\262\000\000\000\000IEND\256B\202" ۔ ۔ ۔ value: "\211PNG\r\n\032\n\000\000\000\rIHDR\000\000\005۔۔۔\000\341R\3727\022\001\204b\201\001\ }

, 'image/width': int64_list { value: 1280 }

, 'image/format': bytes_list { value: "jpeg" }

, 'image/object/class/label': int64_list { value: 1 value: 1 value: 1 value: 1 value: 1 value: 1 value: 1 }

, 'image/height': int64_list { value: 720 }

, 'image/object/class/text': bytes_list { value: "cotton" value: "cotton" value: "cotton" value: "cotton" value: "cotton" value: "cotton" value: "cotton" }

, 'image/source_id': bytes_list { value: "cotton0" }

, 'image/object/bbox/ymin': float_list { value: 0.32499998807907104 value: 0.3444444537162781 value: 0.644444465637207 value: 0.47083333134651184 value: 0.2916666567325592 value: 0.2708333432674408 value: 0.3263888955116272 }

'image/encoded': bytes_list { value: "\377\330\377\340\000\020JFIF\000\001\001\000\000\00...g\031\352\351R9\346\335\237\377\331}

, 'image/object/bbox/ymax': float_list { value: 0.47361111640930176 value: 0.5472221970558167 value: 0.762499988079071 value: 0.6666666865348816 value: 0.35555556416511536 value: 0.49861112236976624 value: 0.574999988079071 }

, 'image/object/bbox/xmin': float_list { value: 0.4320312440395355 value: 0.08671875298023224 value: 0.20703125 value: 0.37031251192092896 value: 0.907031238079071 value: 0.742968738079071 value: 0.63671875 }

, 'image/filename': bytes_list { value: "cotton0" }

, 'image/object/bbox/xmax': float_list { value: 0.5234375 value: 0.22499999403953552 value: 0.2914062440395355 value: 0.48359376192092896 value: 0.9429687261581421 value: 0.8890625238418579 value: 0.7640625238418579 } })]

это кажется совершенно правильным, по крайней мере, так как python скрипт конвертирует мои реальные изображения, аннотации xmls, masks.png в формат tf.record, ожидайте, что это так, я также расшифровал одно из изображений, используя код, предоставленный Учебное пособие Tensorflow для tf .data и это выглядело следующим образом tf_record_to_image

Но когда я попытался разобрать tfrecord с

img, label = tf.parse_single_exapmle(tf_record, features = { 'image': tf.FixedLenFeature([], dtype=tf.string), 'label': tf.FixedLenFeature([], dtype=tf.int64) }

, он выдает ошибка

InvalidArgumentError: Feature: image (data type: string) is required but could not be found. [Op:ParseSingleExample]

и поскольку мое имя переменной изображения в структуре tf_record равно image/encoded вместо простого image, предполагая, что это причина, я изменил

tf.parse_single_exapmle(tf_record, features = { 'image': tf.FixedLenFeature([], dtype=tf.string), 'label': tf.FixedLenFeature([], dtype=tf.int64) }

до

tf.parse_single_exapmle(tf_record, features = { 'image/encoded': tf.FixedLenFeature([], dtype=tf.string), 'image/object/class/label': tf.FixedLenFeature([], dtype=tf.int64) } выдано новое сообщение об ошибке

InvalidArgumentError: Key: image/object/class/label. Can't parse serialized Example. [[Node: ParseSingleExample/ParseSingleExample = ParseSingleExample[Tdense=[DT_STRING, DT_INT64], dense_keys=["image/encoded", "image/object/class/label"], dense_shapes=[[], []], num_sparse=0, sparse_keys=[], sparse_types=[]](arg0, ParseSingleExample/Const, ParseSingleExample/Const_1)]] [Op:IteratorGetNextSync]

Я много раз искал по нему, но не нашел своего решения или этой проблемы решено где угодно. Поэтому я разместил это здесь как новый выпуск. Просим дать указания, как выйти из него. Модель не запускает обучение, это ошибка ввода tf_record или что-то еще_. Кажется, новая проблема, мой репозиторий и сама версия 1.9.

...