Обнаружение объекта Tensorflow (ssd - mobilnet_v1) не сходится - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь обучить набор данных глубокой моды API-интерфейсу обнаружения тензорного потока.Категории и соответствующее количество изображений в каждом классе:

{'Blouse': 24562, 'Cutoffs': 1669, 'Cardigan': 13311, 'Button-Down': 330, 'Poncho': 791, 'Chinos': 527, 'Top': 10078, 'Anorak': 160, 'Kimono': 2294, 'Blazer': 7497, 'Robe': 150, 'Parka': 676, 'Jodhpurs': 45, 'Sarong': 32, 'Shorts': 19624, 'Caftan': 54, 'Turtleneck': 146, 'Leggings': 5013, 'Jersey': 727, 'Hoodie': 4010, 'Culottes': 486, 'Sweater': 13123, 'Flannel': 324, 'Jeggings': 594, 'Tank': 15418, 'Onesie': 70, 'Coat': 2120, 'Sweatpants': 3021, 'Henley': 716, 'Jacket': 10425, 'Gauchos': 49, 'Sweatshorts': 1098, 'Romper': 7408, 'Joggers': 4405, 'Trunks': 386, 'Halter': 34, 'Dress': 144316, 'Jeans': 14152, 'Tee': 73333, 'Coverup': 34, 'Capris': 154, 'Kaftan': 252, 'Peacoat': 194, 'Bomber': 618, 'Skirt': 29546, 'Jumpsuit': 12306}

Всего 46 классов.Мой график полных потерь, кажется, не идет к более низким значениям.Лучшее до сих пор было около 4. Это мой график.Это нормально для такого количества классов, или я должен использовать другой алгоритм?

Еще одно сомнение, которое у меня есть, заключается в том, что модель тренировалась около 3 дней.У меня нет графического процессора.Должен ли я остановить тренировочный процесс?

Редактировать:

train_config: {
  batch_size: 24
  optimizer {
    rms_prop_optimizer: {
      learning_rate: {
        exponential_decay_learning_rate {
          initial_learning_rate: 0.004
          decay_steps: 800720
          decay_factor: 0.95
        }
      }
      momentum_optimizer_value: 0.9
      decay: 0.9
      epsilon: 1.0
    }
  }

Информация об оборудовании:

{
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              6
On-line CPU(s) list: 0-5
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           3
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               63
Model name:          Intel(R) Xeon(R) CPU E5-2683 v3 @ 2.00GHz
Stepping:            2
CPU MHz:             1997.686
BogoMIPS:            3995.37
Hypervisor vendor:   VMware
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            35840K
NUMA node0 CPU(s):   0-5
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid xsaveopt arat
}

Я новичок в tenorflow.Любая помощь будет оценена.Заранее спасибо.

1 Ответ

0 голосов
/ 15 октября 2018
  1. Значение общей потери не очень информативно, если вы не дадите точную потерю, которую вы используете, а также не будет показательным, если вы не экспериментировали с этой потерей.Вместо этого, более информативными значениями являются показатели производительности вашей модели на вашем тестовом наборе.
  2. Время также не очень показательно, если вы не укажете используемое оборудование.Вместо этого - укажите количество итераций и размер партии, а также размер ваших обучающих данных или количество эпох, когда вы обучали модель.
  3. Использовали ли вы снижающуюся скорость обучения?Если вы используете постоянную скорость обучения: (1) с большим значением - тогда она будет менее вероятна сойтись;(2) с небольшим значением - конвергенция может занять много времени.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...