Всем привет,
Приносим свои извинения, это мой первый раз, когда я использую обнаружение объектов любого типа, и на самом деле я впервые использую python. Пытаясь обучить свой набор данных, я получаю результаты как nan.
Я получаю следующую ошибку:
RuntimeWarning: в sqrt обнаружено недопустимое значение
obj [4] = np.sqrt (obj [4])
Пример XML-файла аннотации
<annotation>
<folder>images</folder>
<filename>000006.png</filename>
<segmented>0</segmented>
<size>
<width>225</width>
<height>225</height>
<depth>3</depth>
</size>
<object>
<name>person</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>35</xmin>
<ymin>93</ymin>
<xmax>45</xmax>
<ymax>45</ymax>
</bndbox>
</object>
<object>
<name>person</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>69</xmin>
<ymin>94</ymin>
<xmax>77</xmax>
<ymax>77</ymax>
</bndbox>
</object>
<object>
<name>person</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>129</xmin>
<ymin>85</ymin>
<xmax>136</xmax>
<ymax>136</ymax>
</bndbox>
</object>
<object>
<name>person</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>145</xmin>
<ymin>98</ymin>
<xmax>153</xmax>
<ymax>153</ymax>
</bndbox>
</object>
<object>
<name>person</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>81</xmin>
<ymin>143</ymin>
<xmax>92</xmax>
<ymax>92</ymax>
</bndbox>
</object>
<object>
<name>person</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>185</xmin>
<ymin>188</ymin>
<xmax>195</xmax>
<ymax>195</ymax>
</bndbox>
</object>
<object>
<name>person</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>77</xmin>
<ymin>189</ymin>
<xmax>93</xmax>
<ymax>93</ymax>
</bndbox>
</object>
<object>
<name>person</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>75</xmin>
<ymin>204</ymin>
<xmax>89</xmax>
<ymax>89</ymax>
</bndbox>
</object>
</annotation>
cfg файл
[net]
batch=64
subdivisions=8
width=416
height=416
channels=3
momentum=0.9
decay=0.0005
angle=0
saturation = 1.5
exposure = 1.5
hue=.1
learning_rate=0.001
max_batches = 40100
policy=steps
steps=-1,100,20000,30000
scales=.1,10,.1,.1
[convolutional]
batch_normalize=1
filters=16
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=32
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=128
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=2
[convolutional]
batch_normalize=1
filters=512
size=3
stride=1
pad=1
activation=leaky
[maxpool]
size=2
stride=1
[convolutional]
batch_normalize=1
filters=1024
size=3
stride=1
pad=1
activation=leaky
###########
[convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=1024
activation=leaky
[convolutional]
size=1
stride=1
pad=1
filters=30
activation=linear
[region]
anchors = 1.08,1.19, 3.42,4.41, 6.63,11.38, 9.42,5.11, 16.62,10.52
bias_match=1
classes=1
coords=4
num=5
softmax=1
jitter=.2
rescore=1
object_scale=5
noobject_scale=1
class_scale=1
coord_scale=1
absolute=1
thresh = .5
random=1
Я надеюсь, что кто-нибудь может указать мне правильное направление. Это первый раз, когда я пробовал тренировать свою собственную модель.
Спасибо,
Ли
Если поезд использует ваш собственный набор данных, и это начальное обучение.
вам следует использовать «burn_in», потому что градиент и потери очень нестабильны в начальной последовательности.
проверьте код и выполните поиск «видел» в https://github.com/marvis/pytorch-yolo2/blob/master/train.py
у меня такие же вопросы ... Ты хоть что-нибудь об этом имел в виду?
Этот сценарий, по-видимому, помогает вам определить, когда начинают происходить наны.
https://gist.github.com/yuq-1s/ce63a306f1d39d1c0c80d33f7855f3b5
Но я не уверен, как использовать его с darkflow - если у вас получится, дайте мне знать
Вы получаете nan, потому что Ymin больше, чем Ymax:
<bndbox>
<xmin>69</xmin>
<ymin>94</ymin>
<xmax>77</xmax>
<ymax>77</ymax>
</bndbox>
Убедитесь, что Min меньше Max для X и Y.
Самый полезный комментарий
Вы получаете nan, потому что Ymin больше, чем Ymax:
Убедитесь, что Min меньше Max для X и Y.