В этом примере показано, как обучить детектор объектов YOLO v3.
Глубокое обучение является мощным методом машинного обучения, который можно использовать для обучения устойчивых детекторов объектов. Существует несколько методов обнаружения объектов, включая Faster R-CNN, вы смотрите только один раз (YOLO) v2 и один детектор выстрела (SSD). В этом примере показано, как обучить детектор объектов YOLO v3. YOLO v3 улучшается после YOLO v2, добавляя обнаружение в нескольких шкалах, чтобы помочь обнаружить меньшие объекты. Кроме того, функция потерь, используемая для обучения, разделена на среднюю квадратичную невязку для ограничивающей прямоугольной регрессии и бинарную перекрестную энтропию для классификации объектов, чтобы помочь улучшить точность обнаружения.
Примечание. В этом примере требуется модель Computer Vision Toolbox™ для обнаружения объектов YOLO v3. Можно установить модель Computer Vision Toolbox для обнаружения объектов YOLO v3 из Add-On Explorer. Дополнительные сведения об установке дополнений см. в разделе Получение и управление Дополнений.
Загрузите предварительно обученную сеть с помощью функции helper downloadPretrainedYOLOv3Detector
чтобы избежать необходимости ждать завершения обучения. Если вы хотите обучить сеть, установите doTraining
переменная в true
.
doTraining = true; if ~doTraining preTrainedDetector = downloadPretrainedYOLOv3Detector(); end
Этот пример использует небольшой набор маркированных данных, который содержит 295 изображений. Многие из этих изображений получены из наборов данных Caltech Cars 1999 и 2001, доступных на веб-сайте Caltech Computational Vision, созданном Пьетро Пероной и используемом с разрешения. Каждое изображение содержит один или два маркированных образца транспортного средства. Небольшой набор данных полезен для исследования процедуры обучения YOLO v3, но на практике для обучения устойчивой сети необходимо больше маркированных изображений.
Разархивируйте изображения транспортного средства и загружайте транспортное средство достоверных данных.
unzip vehicleDatasetImages.zip data = load('vehicleDatasetGroundTruth.mat'); vehicleDataset = data.vehicleDataset; % Add the full path to the local vehicle data folder. vehicleDataset.imageFilename = fullfile(pwd, vehicleDataset.imageFilename);
Примечание.В случае нескольких классов данные также могут быть организованы как три столбца, где в первом столбце содержатся имена файлов изображений с путями, во втором-ограничительные рамки, а в третьем - вектор камер, который содержит имена меток, соответствующие каждому ограничивающему прямоугольнику. Дополнительные сведения о том, как расположить ограничительные рамки и метки, см. в разделе boxLabelDatastore
(Computer Vision Toolbox).
Все ограничительные рамки должны иметь форму [x y width height]
. Этот вектор задает верхний левый угол и размер ограничивающего прямоугольника в пикселях.
Разделите набор данных на набор обучающих данных для обучения сети и тестовый набор для оценки сети. Используйте 60% данных для набора обучающих данных и остальное для тестового набора.
rng(0); shuffledIndices = randperm(height(vehicleDataset)); idx = floor(0.6 * length(shuffledIndices)); trainingDataTbl = vehicleDataset(shuffledIndices(1:idx), :); testDataTbl = vehicleDataset(shuffledIndices(idx+1:end), :);
Создайте datastore для загрузки изображений.
imdsTrain = imageDatastore(trainingDataTbl.imageFilename); imdsTest = imageDatastore(testDataTbl.imageFilename);
Создайте хранилище данных для основной истины ограничивающих рамок.
bldsTrain = boxLabelDatastore(trainingDataTbl(:, 2:end)); bldsTest = boxLabelDatastore(testDataTbl(:, 2:end));
Объедините хранилища данных меток изображений и коробок.
trainingData = combine(imdsTrain, bldsTrain); testData = combine(imdsTest, bldsTest);
Использование validateInputData
обнаружение недопустимых изображений, ограничивающих рамок или меток, т.е.,
Выборки с недопустимым форматом изображения или содержащие NaNs
Ограничительные рамки, содержащие нули/NaNs/Infs/пустые
Отсутствующие/не категориальные метки.
Значения ограничивающих рамок должны быть конечными, положительными, не дробными, не-NaN и должны находиться в пределах контура изображения с положительной высотой и шириной. Любые недопустимые выборки должны быть либо сброшены, либо исправлены для правильного обучения.
validateInputData(trainingData); validateInputData(testData);
Увеличение количества данных используется для повышения точности сети путем случайного преобразования исходных данных во время обучения. При помощи увеличения данных можно добавить больше разнообразия в обучающие данные, не увеличивая на самом деле количество маркированных обучающих выборок.
Использование transform
функция для применения пользовательских расширений данных к обучающим данным. The augmentData
вспомогательная функция, перечисленная в конце примера, применяет следующие увеличения к входным данным.
Увеличение цветового джиттера в пространстве HSV
Случайный горизонтальный щелчок
Случайное масштабирование на 10 процентов
augmentedTrainingData = transform(trainingData, @augmentData);
Считайте одно и то же изображение четыре раза и отобразите дополненные обучающие данные.
% Visualize the augmented images. augmentedData = cell(4,1); for k = 1:4 data = read(augmentedTrainingData); augmentedData{k} = insertShape(data{1,1}, 'Rectangle', data{1,2}); reset(augmentedTrainingData); end figure montage(augmentedData, 'BorderSize', 10)
Детектор YOLO v3 в этом примере основан на SqueezeNet и использует сеть редукции данных в SqueezeNet с сложением двух головок обнаружения в конце. Вторая детекторная головка в два раза больше первой детекторной головки, поэтому она лучше способна обнаруживать небольшие объекты. Обратите внимание, что вы можете задать любое количество головок обнаружения различных размеров в зависимости от размера объектов, которые вы хотите обнаружить. Детектор YOLO v3 использует якорные коробки, оцененные с помощью обучающих данных, чтобы иметь лучшие начальные приоритеты, соответствующие типу набора данных, и помочь детектору научиться точно предсказывать коробки. Дополнительные сведения о анкерных коробках см. в разделе Якорные коробки для обнаружения объектов (Computer Vision Toolbox).
Сеть YOLO v3, присутствующая в детекторе YOLO v3, проиллюстрирована на следующей схеме.
Можно использовать Deep Network Designer, чтобы создать сеть, показанную на схеме.
Задайте размер входа сети. При выборе размера входа сети учитывайте минимальный размер, требуемый для запуска самой сети, размер обучающих изображений и вычислительные затраты, связанные с обработкой данных при выбранном размере. Когда это возможно, выберите размер входа сети, который близок к размеру обучающего изображения и больше, чем размер входного сигнала, необходимый для сети. Чтобы уменьшить вычислительные затраты на выполнение примера, укажите размер входа сети [227 227 3].
networkInputSize = [227 227 3];
Во-первых, используйте transform
для предварительной обработки обучающих данных для вычисления якорных коробок, поскольку обучающие изображения, используемые в этом примере, больше 227 на 227 и варьируются в размере. Укажите количество якорей как 6 для достижения хорошего компромисса между количеством якорей и средним IoU. Используйте estimateAnchorBoxes
функция для оценки анкерных коробок. Для получения дополнительной информации об оценке анкерных коробок смотрите Оценку анкерных коробок из обучающих данных (Computer Vision Toolbox). В случае использования предварительно обученного детектора YOLOv3 детекторов объектов задать якорные рамки, рассчитанные на этом конкретном обучающем наборе данных. Обратите внимание, что процесс оценки не является детерминированным. Чтобы предотвратить изменение предполагаемых анкерных коробок при настройке других гиперпараметров, установите случайный seed перед оценкой с помощью rng.
rng(0) trainingDataForEstimation = transform(trainingData, @(data)preprocessData(data, networkInputSize)); numAnchors = 6; [anchors, meanIoU] = estimateAnchorBoxes(trainingDataForEstimation, numAnchors)
anchors = 6×2
42 34
161 130
97 93
143 124
33 24
69 66
meanIoU = 0.8423
Задайте anchorBoxes
для использования в обеих головках обнаружения. anchorBoxes
- массив ячеек [Mx1], где M обозначает количество головок обнаружения. Каждая детекторная головка состоит из [Nx2] матрицы anchors
, где N - количество используемых якорей. Выберите anchorBoxes
для каждой головки обнаружения на основе размера карты функций. Используйте большие anchors
в более низких шкалах и меньших anchors
в более высокой шкале. Для этого отсортируйте anchors
с большими анкерными коробками сначала и присвоить первые три первой детекторной головке, а следующие три второй детекторной головке.
area = anchors(:, 1).*anchors(:, 2);
[~, idx] = sort(area, 'descend');
anchors = anchors(idx, :);
anchorBoxes = {anchors(1:3,:)
anchors(4:6,:)
};
Загрузите предварительно обученную сеть SqueezeNet на набор данных Imagenet, а затем укажите имена классов. Можно также выбрать загрузку другой предварительно обученной сети, обученной на наборе данных COCO, таком как tiny-yolov3-coco
или darknet53-coco
или набор данных Imagenet, такой как MobileNet-v2 или ResNet-18. YOLO v3 работает лучше и обучается быстрее, когда вы используете предварительно обученную сеть.
baseNetwork = squeezenet; classNames = trainingDataTbl.Properties.VariableNames(2:end);
Затем создайте yolov3ObjectDetector
объект путем добавления сетевого соруса обнаружения. Выбор оптимального источника сети обнаружения требует проб и ошибок, и можно использовать analyzeNetwork
для поиска имен потенциального источника сети обнаружения в сети. В данном примере используйте fire9-concat
и fire5-concat
слои как DetectionNetworkSource
.
yolov3Detector = yolov3ObjectDetector(baseNetwork, classNames, anchorBoxes, 'DetectionNetworkSource', {'fire9-concat', 'fire5-concat'});
Альтернативно, вместо сети, созданной выше с использованием SqueezeNet, другие предварительно обученные архитектуры YOLOv3, обученные с использованием больших наборов данных, таких как MS-COCO, могут использоваться, чтобы перенести изучение детектора в пользовательскую задачу обнаружения объектов. Передача обучения может быть реализован путем изменения classNames и anchorBoxes. Рабочий процесс передачи обучения рекомендуется, если класс пользовательского обнаружения объектов присутствует в качестве одного из классов или подкласса классов, обученных в предварительно обученной сети.
Предварительно обработайте дополненные обучающие данные для подготовки к обучению. The preprocess
(Computer Vision Toolbox) метод в yolov3ObjectDetector
(Computer Vision Toolbox), применяет следующие операции предварительной обработки к входным данным.
Измените размер изображений на размер входа сети путем поддержания соотношения сторон.
Масштабируйте пиксели изображения в области значений [0 1]
.
preprocessedTrainingData = transform(augmentedTrainingData, @(data)preprocess(yolov3Detector, data));
Считайте предварительно обработанные обучающие данные.
data = read(preprocessedTrainingData);
Отобразите изображение с ограничивающими рамками.
I = data{1,1};
bbox = data{1,2};
annotatedImage = insertShape(I, 'Rectangle', bbox);
annotatedImage = imresize(annotatedImage,2);
figure
imshow(annotatedImage)
Сбросьте datastore.
reset(preprocessedTrainingData);
Задайте эти опции обучения.
Установите количество эпох равным 80.
Установите размер мини-пакета следующим 8
. Стабильное обучение может быть возможным с более высокими скоростями обучения, когда используется более высокий размер мини-пакета .
Хотя, это должно быть установлено в зависимости от имеющейся памяти.
Установите скорость обучения равной 0,001.
Установите период прогрева следующим 1000
итераций. Этот параметр обозначает количество итераций для увеличения скорости обучения экспоненциально на основе формулы . Это помогает в стабилизации градиентов с более высокими скоростями обучения.
Установите коэффициент регуляризации L2 равным 0,0005.
Укажите порог штрафа 0,5. Обнаружения, которые перекрываются менее 0,5 с основной истиной, наказываются.
Инициализируйте скорость градиента как []
. Это используется SGDM, чтобы сохранить скорость градиентов.
numEpochs = 80; miniBatchSize = 8; learningRate = 0.001; warmupPeriod = 1000; l2Regularization = 0.0005; penaltyThreshold = 0.5; velocity = [];
Обучите на графическом процессоре, если он доступен. Для использования GPU требуется Parallel Computing Toolbox™ и графический процессор с поддержкой CUDA ® NVIDIA ®. Для получения информации о поддерживаемых вычислительных возможностях смотрите Поддержку GPU by Release (Parallel Computing Toolbox).
Используйте minibatchqueue
функция для разделения предварительно обработанных обучающих данных на пакеты с помощью вспомогательной функции createBatchData
который возвращает пакетные изображения и ограничительные рамки, объединенные с соответствующими идентификаторами классов. Для ускорения извлечения данных пакета для обучения, dispatchInBackground
должно быть установлено значение «true», которое обеспечивает использование параллельного пула.
minibatchqueue
автоматически определяет доступность графический процессор. Если у вас нет графический процессор или вы не хотите использовать его для обучения, установите OutputEnvironment
параметр в "cpu"
.
if canUseParallelPool dispatchInBackground = true; else dispatchInBackground = false; end mbqTrain = minibatchqueue(preprocessedTrainingData, 2,... "MiniBatchSize", miniBatchSize,... "MiniBatchFcn", @(images, boxes, labels) createBatchData(images, boxes, labels, classNames), ... "MiniBatchFormat", ["SSCB", ""],... "DispatchInBackground", dispatchInBackground,... "OutputCast", ["", "double"]);
Создайте график процесса обучения с помощью вспомогательной функции configureTrainingProgressPlotter
чтобы увидеть график во время настройки объекта детектора с помощью пользовательского цикла обучения.
Наконец, укажите пользовательский цикл обучения. Для каждой итерации:
Считайте данные из minibatchqueue.
Если у него больше нет данных, сбросьте minibatchqueue
и тасовать.
Оцените градиенты модели с помощью dlfeval
и modelGradients
функция. Функция modelGradients
, перечисленная как вспомогательная функция, возвращает градиенты потерь относительно настраиваемых параметров в net
, соответствующие мини-потери партии и состояние текущей партии.
Примените коэффициент распада веса к градиентам для регуляризации для более прочного обучения.
Определите скорость обучения на основе итераций с помощью piecewiseLearningRateWithWarmup
вспомогательная функция.
Обновите параметры детектора с помощью sgdmupdate
функция.
Обновление state
параметры детектора с скользящим средним значением.
Отображение скорости обучения, общих потерь и индивидуальных потерь (потери коробки, потери объекта и потери класса) для каждой итерации. Они могут использоваться, чтобы интерпретировать, как соответствующие потери изменяются в каждой итерации. Например, внезапный всплеск потери куба после нескольких итераций подразумевает, что в предсказаниях есть Inf или NaNs.
Обновите график процесса обучения.
Обучение также может быть прекращено, если потеря пропала в течение нескольких эпох.
if doTraining % Create subplots for the learning rate and mini-batch loss. fig = figure; [lossPlotter, learningRatePlotter] = configureTrainingProgressPlotter(fig); iteration = 0; % Custom training loop. for epoch = 1:numEpochs reset(mbqTrain); shuffle(mbqTrain); while(hasdata(mbqTrain)) iteration = iteration + 1; [XTrain, YTrain] = next(mbqTrain); % Evaluate the model gradients and loss using dlfeval and the % modelGradients function. [gradients, state, lossInfo] = dlfeval(@modelGradients, yolov3Detector, XTrain, YTrain, penaltyThreshold); % Apply L2 regularization. gradients = dlupdate(@(g,w) g + l2Regularization*w, gradients, yolov3Detector.Learnables); % Determine the current learning rate value. currentLR = piecewiseLearningRateWithWarmup(iteration, epoch, learningRate, warmupPeriod, numEpochs); % Update the detector learnable parameters using the SGDM optimizer. [yolov3Detector.Learnables, velocity] = sgdmupdate(yolov3Detector.Learnables, gradients, velocity, currentLR); % Update the state parameters of dlnetwork. yolov3Detector.State = state; % Display progress. displayLossInfo(epoch, iteration, currentLR, lossInfo); % Update training plot with new points. updatePlots(lossPlotter, learningRatePlotter, iteration, currentLR, lossInfo.totalLoss); end end else yolov3Detector = preTrainedDetector; end
Epoch : 1 | Iteration : 1 | Learning Rate : 1e-15 | Total Loss : 2034.4574 | Box Loss : 1.2703 | Object Loss : 2032.5195 | Class Loss : 0.66761 Epoch : 1 | Iteration : 2 | Learning Rate : 1.6e-14 | Total Loss : 2040.5183 | Box Loss : 5.8543 | Object Loss : 2033.9915 | Class Loss : 0.67264 Epoch : 1 | Iteration : 3 | Learning Rate : 8.1e-14 | Total Loss : 2039.3861 | Box Loss : 5.0515 | Object Loss : 2033.4391 | Class Loss : 0.89554 Epoch : 1 | Iteration : 4 | Learning Rate : 2.56e-13 | Total Loss : 2045.5454 | Box Loss : 2.5824 | Object Loss : 2042.353 | Class Loss : 0.61002 Epoch : 1 | Iteration : 5 | Learning Rate : 6.25e-13 | Total Loss : 2034.3147 | Box Loss : 4.6497 | Object Loss : 2028.9595 | Class Loss : 0.70542 Epoch : 1 | Iteration : 6 | Learning Rate : 1.296e-12 | Total Loss : 2038.448 | Box Loss : 6.7472 | Object Loss : 2031.0361 | Class Loss : 0.66469 Epoch : 1 | Iteration : 7 | Learning Rate : 2.401e-12 | Total Loss : 2043.5757 | Box Loss : 2.474 | Object Loss : 2040.5457 | Class Loss : 0.55609 Epoch : 1 | Iteration : 8 | Learning Rate : 4.096e-12 | Total Loss : 2044.3937 | Box Loss : 6.5438 | Object Loss : 2037.5107 | Class Loss : 0.33914 Epoch : 1 | Iteration : 9 | Learning Rate : 6.561e-12 | Total Loss : 2029.511 | Box Loss : 2.3748 | Object Loss : 2026.4377 | Class Loss : 0.69853 Epoch : 1 | Iteration : 10 | Learning Rate : 1e-11 | Total Loss : 2026.5184 | Box Loss : 2.2127 | Object Loss : 2023.8136 | Class Loss : 0.49224 Epoch : 1 | Iteration : 11 | Learning Rate : 1.4641e-11 | Total Loss : 2052.4109 | Box Loss : 4.4924 | Object Loss : 2047.2883 | Class Loss : 0.63001 Epoch : 1 | Iteration : 12 | Learning Rate : 2.0736e-11 | Total Loss : 2039.0267 | Box Loss : 4.2858 | Object Loss : 2034.1895 | Class Loss : 0.55147 Epoch : 1 | Iteration : 13 | Learning Rate : 2.8561e-11 | Total Loss : 2053.4932 | Box Loss : 2.1127 | Object Loss : 2050.6885 | Class Loss : 0.69185 Epoch : 1 | Iteration : 14 | Learning Rate : 3.8416e-11 | Total Loss : 2040.917 | Box Loss : 2.8612 | Object Loss : 2037.4712 | Class Loss : 0.58456 Epoch : 1 | Iteration : 15 | Learning Rate : 5.0625e-11 | Total Loss : 2043.094 | Box Loss : 2.8008 | Object Loss : 2039.9056 | Class Loss : 0.3876 Epoch : 1 | Iteration : 16 | Learning Rate : 6.5536e-11 | Total Loss : 2031.8059 | Box Loss : 3.2756 | Object Loss : 2028.0403 | Class Loss : 0.49002 Epoch : 1 | Iteration : 17 | Learning Rate : 8.3521e-11 | Total Loss : 2044.72 | Box Loss : 1.6522 | Object Loss : 2042.4524 | Class Loss : 0.61532 Epoch : 1 | Iteration : 18 | Learning Rate : 1.0498e-10 | Total Loss : 2050.0471 | Box Loss : 4.1119 | Object Loss : 2045.4639 | Class Loss : 0.47138 Epoch : 1 | Iteration : 19 | Learning Rate : 1.3032e-10 | Total Loss : 2033.7067 | Box Loss : 2.8427 | Object Loss : 2030.1394 | Class Loss : 0.72465 Epoch : 1 | Iteration : 20 | Learning Rate : 1.6e-10 | Total Loss : 2036.5347 | Box Loss : 3.1793 | Object Loss : 2032.9583 | Class Loss : 0.39718 Epoch : 1 | Iteration : 21 | Learning Rate : 1.9448e-10 | Total Loss : 2029.7346 | Box Loss : 3.6625 | Object Loss : 2025.3025 | Class Loss : 0.76967 Epoch : 1 | Iteration : 22 | Learning Rate : 2.3426e-10 | Total Loss : 2026.9553 | Box Loss : 2.9675 | Object Loss : 2023.5861 | Class Loss : 0.4017 Epoch : 1 | Iteration : 23 | Learning Rate : 2.7984e-10 | Total Loss : 2019.0176 | Box Loss : 0.84919 | Object Loss : 2017.3557 | Class Loss : 0.81262 Epoch : 2 | Iteration : 24 | Learning Rate : 3.3178e-10 | Total Loss : 2033.5848 | Box Loss : 3.0358 | Object Loss : 2029.8921 | Class Loss : 0.65696 Epoch : 2 | Iteration : 25 | Learning Rate : 3.9063e-10 | Total Loss : 2045.8374 | Box Loss : 3.4959 | Object Loss : 2041.6012 | Class Loss : 0.74038 Epoch : 2 | Iteration : 26 | Learning Rate : 4.5698e-10 | Total Loss : 2036.3354 | Box Loss : 2.1746 | Object Loss : 2033.5701 | Class Loss : 0.59084 Epoch : 2 | Iteration : 27 | Learning Rate : 5.3144e-10 | Total Loss : 2036.7156 | Box Loss : 3.0053 | Object Loss : 2032.9835 | Class Loss : 0.72679 Epoch : 2 | Iteration : 28 | Learning Rate : 6.1466e-10 | Total Loss : 2030.1866 | Box Loss : 3.4409 | Object Loss : 2026.0948 | Class Loss : 0.65091 Epoch : 2 | Iteration : 29 | Learning Rate : 7.0728e-10 | Total Loss : 2026.7745 | Box Loss : 1.0128 | Object Loss : 2025.1301 | Class Loss : 0.63154 Epoch : 2 | Iteration : 30 | Learning Rate : 8.1e-10 | Total Loss : 2039.3251 | Box Loss : 3.1312 | Object Loss : 2035.4562 | Class Loss : 0.73767 Epoch : 2 | Iteration : 31 | Learning Rate : 9.2352e-10 | Total Loss : 2034.1394 | Box Loss : 4.8098 | Object Loss : 2028.5234 | Class Loss : 0.8062 Epoch : 2 | Iteration : 32 | Learning Rate : 1.0486e-09 | Total Loss : 2035.0363 | Box Loss : 4.7082 | Object Loss : 2029.7371 | Class Loss : 0.59096 Epoch : 2 | Iteration : 33 | Learning Rate : 1.1859e-09 | Total Loss : 2053.9387 | Box Loss : 3.5839 | Object Loss : 2049.7886 | Class Loss : 0.56609 Epoch : 2 | Iteration : 34 | Learning Rate : 1.3363e-09 | Total Loss : 2041.5179 | Box Loss : 2.808 | Object Loss : 2038.3765 | Class Loss : 0.33344 Epoch : 2 | Iteration : 35 | Learning Rate : 1.5006e-09 | Total Loss : 2035.2411 | Box Loss : 2.7223 | Object Loss : 2032.0865 | Class Loss : 0.43231 Epoch : 2 | Iteration : 36 | Learning Rate : 1.6796e-09 | Total Loss : 2050.2747 | Box Loss : 5.3999 | Object Loss : 2044.2727 | Class Loss : 0.60193 Epoch : 2 | Iteration : 37 | Learning Rate : 1.8742e-09 | Total Loss : 2043.5969 | Box Loss : 5.5765 | Object Loss : 2037.3926 | Class Loss : 0.6279 Epoch : 2 | Iteration : 38 | Learning Rate : 2.0851e-09 | Total Loss : 2038.2933 | Box Loss : 3.4637 | Object Loss : 2034.1479 | Class Loss : 0.6816 Epoch : 2 | Iteration : 39 | Learning Rate : 2.3134e-09 | Total Loss : 2038.1877 | Box Loss : 2.5275 | Object Loss : 2035.101 | Class Loss : 0.55933 Epoch : 2 | Iteration : 40 | Learning Rate : 2.56e-09 | Total Loss : 2036.8016 | Box Loss : 2.0805 | Object Loss : 2034.0248 | Class Loss : 0.69634 Epoch : 2 | Iteration : 41 | Learning Rate : 2.8258e-09 | Total Loss : 2032.4956 | Box Loss : 2.0393 | Object Loss : 2030.0411 | Class Loss : 0.41518 Epoch : 2 | Iteration : 42 | Learning Rate : 3.1117e-09 | Total Loss : 2036.3785 | Box Loss : 3.8184 | Object Loss : 2032.1405 | Class Loss : 0.41965 Epoch : 2 | Iteration : 43 | Learning Rate : 3.4188e-09 | Total Loss : 2037.4792 | Box Loss : 2.2771 | Object Loss : 2034.524 | Class Loss : 0.67814 Epoch : 2 | Iteration : 44 | Learning Rate : 3.7481e-09 | Total Loss : 2036.874 | Box Loss : 2.9961 | Object Loss : 2033.1942 | Class Loss : 0.68376 Epoch : 2 | Iteration : 45 | Learning Rate : 4.1006e-09 | Total Loss : 2042.7714 | Box Loss : 5.42 | Object Loss : 2036.751 | Class Loss : 0.60037 Epoch : 2 | Iteration : 46 | Learning Rate : 4.4775e-09 | Total Loss : 2040.7478 | Box Loss : 15.8955 | Object Loss : 2024.0149 | Class Loss : 0.83739 Epoch : 3 | Iteration : 47 | Learning Rate : 4.8797e-09 | Total Loss : 2029.9019 | Box Loss : 5.3115 | Object Loss : 2023.8076 | Class Loss : 0.78269 Epoch : 3 | Iteration : 48 | Learning Rate : 5.3084e-09 | Total Loss : 2037.0276 | Box Loss : 3.8952 | Object Loss : 2032.524 | Class Loss : 0.60828 Epoch : 3 | Iteration : 49 | Learning Rate : 5.7648e-09 | Total Loss : 2024.6521 | Box Loss : 2.2851 | Object Loss : 2021.6416 | Class Loss : 0.72537 Epoch : 3 | Iteration : 50 | Learning Rate : 6.25e-09 | Total Loss : 2030.0686 | Box Loss : 3.7038 | Object Loss : 2025.936 | Class Loss : 0.42867 Epoch : 3 | Iteration : 51 | Learning Rate : 6.7652e-09 | Total Loss : 2033.3076 | Box Loss : 1.6001 | Object Loss : 2031.0587 | Class Loss : 0.64882 Epoch : 3 | Iteration : 52 | Learning Rate : 7.3116e-09 | Total Loss : 2031.2271 | Box Loss : 2.8679 | Object Loss : 2027.5931 | Class Loss : 0.76597 Epoch : 3 | Iteration : 53 | Learning Rate : 7.8905e-09 | Total Loss : 2026.3621 | Box Loss : 1.5324 | Object Loss : 2024.1782 | Class Loss : 0.65154 Epoch : 3 | Iteration : 54 | Learning Rate : 8.5031e-09 | Total Loss : 2031.1776 | Box Loss : 3.7035 | Object Loss : 2026.9082 | Class Loss : 0.56593 Epoch : 3 | Iteration : 55 | Learning Rate : 9.1506e-09 | Total Loss : 2034.3107 | Box Loss : 2.6567 | Object Loss : 2030.9513 | Class Loss : 0.70268 Epoch : 3 | Iteration : 56 | Learning Rate : 9.8345e-09 | Total Loss : 2021.8693 | Box Loss : 3.34 | Object Loss : 2017.9197 | Class Loss : 0.60955 Epoch : 3 | Iteration : 57 | Learning Rate : 1.0556e-08 | Total Loss : 2024.7795 | Box Loss : 5.4342 | Object Loss : 2018.5682 | Class Loss : 0.77708 Epoch : 3 | Iteration : 58 | Learning Rate : 1.1316e-08 | Total Loss : 2021.3302 | Box Loss : 2.4311 | Object Loss : 2018.3871 | Class Loss : 0.5121 Epoch : 3 | Iteration : 59 | Learning Rate : 1.2117e-08 | Total Loss : 2028.3229 | Box Loss : 3.0344 | Object Loss : 2024.6876 | Class Loss : 0.60097 Epoch : 3 | Iteration : 60 | Learning Rate : 1.296e-08 | Total Loss : 2029.2771 | Box Loss : 3.7049 | Object Loss : 2025.1646 | Class Loss : 0.40764 Epoch : 3 | Iteration : 61 | Learning Rate : 1.3846e-08 | Total Loss : 2023.4316 | Box Loss : 2.836 | Object Loss : 2020.1001 | Class Loss : 0.49552 Epoch : 3 | Iteration : 62 | Learning Rate : 1.4776e-08 | Total Loss : 2018.3862 | Box Loss : 3.4428 | Object Loss : 2014.299 | Class Loss : 0.64438 Epoch : 3 | Iteration : 63 | Learning Rate : 1.5753e-08 | Total Loss : 1997.1346 | Box Loss : 5.3684 | Object Loss : 1991.0413 | Class Loss : 0.72492 Epoch : 3 | Iteration : 64 | Learning Rate : 1.6777e-08 | Total Loss : 2008.8459 | Box Loss : 3.0047 | Object Loss : 2005.2698 | Class Loss : 0.57158 Epoch : 3 | Iteration : 65 | Learning Rate : 1.7851e-08 | Total Loss : 2003.0519 | Box Loss : 3.0569 | Object Loss : 1999.3745 | Class Loss : 0.62048 Epoch : 3 | Iteration : 66 | Learning Rate : 1.8975e-08 | Total Loss : 1996.9225 | Box Loss : 5.2107 | Object Loss : 1991.1674 | Class Loss : 0.54448 Epoch : 3 | Iteration : 67 | Learning Rate : 2.0151e-08 | Total Loss : 1993.1699 | Box Loss : 2.067 | Object Loss : 1990.5317 | Class Loss : 0.5712 Epoch : 3 | Iteration : 68 | Learning Rate : 2.1381e-08 | Total Loss : 1996.2117 | Box Loss : 1.808 | Object Loss : 1993.8293 | Class Loss : 0.57438 Epoch : 3 | Iteration : 69 | Learning Rate : 2.2667e-08 | Total Loss : 1960.97 | Box Loss : 3.5167 | Object Loss : 1957.0793 | Class Loss : 0.37408 Epoch : 4 | Iteration : 70 | Learning Rate : 2.401e-08 | Total Loss : 1987.9667 | Box Loss : 3.758 | Object Loss : 1983.6907 | Class Loss : 0.518 Epoch : 4 | Iteration : 71 | Learning Rate : 2.5412e-08 | Total Loss : 1985.2295 | Box Loss : 1.5088 | Object Loss : 1983.1033 | Class Loss : 0.6174 Epoch : 4 | Iteration : 72 | Learning Rate : 2.6874e-08 | Total Loss : 1986.2605 | Box Loss : 5.0329 | Object Loss : 1980.4592 | Class Loss : 0.76839 Epoch : 4 | Iteration : 73 | Learning Rate : 2.8398e-08 | Total Loss : 1983.7778 | Box Loss : 2.5958 | Object Loss : 1980.4906 | Class Loss : 0.69158 Epoch : 4 | Iteration : 74 | Learning Rate : 2.9987e-08 | Total Loss : 1983.8669 | Box Loss : 3.2597 | Object Loss : 1980.2219 | Class Loss : 0.38521 Epoch : 4 | Iteration : 75 | Learning Rate : 3.1641e-08 | Total Loss : 1965.298 | Box Loss : 2.8892 | Object Loss : 1962.0405 | Class Loss : 0.3683 Epoch : 4 | Iteration : 76 | Learning Rate : 3.3362e-08 | Total Loss : 1975.8003 | Box Loss : 4.5828 | Object Loss : 1970.3978 | Class Loss : 0.81973 Epoch : 4 | Iteration : 77 | Learning Rate : 3.5153e-08 | Total Loss : 1956.8281 | Box Loss : 3.4007 | Object Loss : 1952.7102 | Class Loss : 0.71722 Epoch : 4 | Iteration : 78 | Learning Rate : 3.7015e-08 | Total Loss : 1947.5746 | Box Loss : 3.6963 | Object Loss : 1943.3844 | Class Loss : 0.49393 Epoch : 4 | Iteration : 79 | Learning Rate : 3.895e-08 | Total Loss : 1945.3359 | Box Loss : 2.7079 | Object Loss : 1941.9802 | Class Loss : 0.64784 Epoch : 4 | Iteration : 80 | Learning Rate : 4.096e-08 | Total Loss : 1936.6976 | Box Loss : 3.5695 | Object Loss : 1932.4708 | Class Loss : 0.65735 Epoch : 4 | Iteration : 81 | Learning Rate : 4.3047e-08 | Total Loss : 1940.713 | Box Loss : 3.8212 | Object Loss : 1936.5292 | Class Loss : 0.36271 Epoch : 4 | Iteration : 82 | Learning Rate : 4.5212e-08 | Total Loss : 1920.8802 | Box Loss : 3.2441 | Object Loss : 1917.2192 | Class Loss : 0.41683 Epoch : 4 | Iteration : 83 | Learning Rate : 4.7458e-08 | Total Loss : 1911.2277 | Box Loss : 3.8905 | Object Loss : 1906.6838 | Class Loss : 0.65335 Epoch : 4 | Iteration : 84 | Learning Rate : 4.9787e-08 | Total Loss : 1911.212 | Box Loss : 3.6702 | Object Loss : 1906.9504 | Class Loss : 0.59146 Epoch : 4 | Iteration : 85 | Learning Rate : 5.2201e-08 | Total Loss : 1890.0442 | Box Loss : 2.015 | Object Loss : 1887.3788 | Class Loss : 0.65035 Epoch : 4 | Iteration : 86 | Learning Rate : 5.4701e-08 | Total Loss : 1894.0687 | Box Loss : 2.3115 | Object Loss : 1891.0864 | Class Loss : 0.67088 Epoch : 4 | Iteration : 87 | Learning Rate : 5.729e-08 | Total Loss : 1882.7527 | Box Loss : 3.0078 | Object Loss : 1878.8282 | Class Loss : 0.91661 Epoch : 4 | Iteration : 88 | Learning Rate : 5.997e-08 | Total Loss : 1878.7745 | Box Loss : 4.5958 | Object Loss : 1873.644 | Class Loss : 0.53463 Epoch : 4 | Iteration : 89 | Learning Rate : 6.2742e-08 | Total Loss : 1874.4493 | Box Loss : 3.7955 | Object Loss : 1870.1482 | Class Loss : 0.50562 Epoch : 4 | Iteration : 90 | Learning Rate : 6.561e-08 | Total Loss : 1849.9515 | Box Loss : 3.1729 | Object Loss : 1846.0564 | Class Loss : 0.72234 Epoch : 4 | Iteration : 91 | Learning Rate : 6.8575e-08 | Total Loss : 1832.1216 | Box Loss : 1.972 | Object Loss : 1829.5789 | Class Loss : 0.57063 Epoch : 4 | Iteration : 92 | Learning Rate : 7.1639e-08 | Total Loss : 1825.4591 | Box Loss : 16.0346 | Object Loss : 1808.7312 | Class Loss : 0.69319 Epoch : 5 | Iteration : 93 | Learning Rate : 7.4805e-08 | Total Loss : 1822.5862 | Box Loss : 3.3594 | Object Loss : 1818.7134 | Class Loss : 0.51327 Epoch : 5 | Iteration : 94 | Learning Rate : 7.8075e-08 | Total Loss : 1806.3173 | Box Loss : 4.9844 | Object Loss : 1800.8016 | Class Loss : 0.53124 Epoch : 5 | Iteration : 95 | Learning Rate : 8.1451e-08 | Total Loss : 1791.694 | Box Loss : 2.6037 | Object Loss : 1788.7158 | Class Loss : 0.37446 Epoch : 5 | Iteration : 96 | Learning Rate : 8.4935e-08 | Total Loss : 1788.7694 | Box Loss : 3.4347 | Object Loss : 1784.615 | Class Loss : 0.71978 Epoch : 5 | Iteration : 97 | Learning Rate : 8.8529e-08 | Total Loss : 1765.125 | Box Loss : 2.1152 | Object Loss : 1762.3104 | Class Loss : 0.69946 Epoch : 5 | Iteration : 98 | Learning Rate : 9.2237e-08 | Total Loss : 1750.5256 | Box Loss : 2.0819 | Object Loss : 1747.7401 | Class Loss : 0.70358 Epoch : 5 | Iteration : 99 | Learning Rate : 9.606e-08 | Total Loss : 1743.0345 | Box Loss : 1.6052 | Object Loss : 1741.0526 | Class Loss : 0.37671 Epoch : 5 | Iteration : 100 | Learning Rate : 1e-07 | Total Loss : 1731.6486 | Box Loss : 2.262 | Object Loss : 1728.8052 | Class Loss : 0.5813 Epoch : 5 | Iteration : 101 | Learning Rate : 1.0406e-07 | Total Loss : 1721.0155 | Box Loss : 2.7817 | Object Loss : 1717.8625 | Class Loss : 0.37132 Epoch : 5 | Iteration : 102 | Learning Rate : 1.0824e-07 | Total Loss : 1703.8527 | Box Loss : 1.5948 | Object Loss : 1701.7136 | Class Loss : 0.54421 Epoch : 5 | Iteration : 103 | Learning Rate : 1.1255e-07 | Total Loss : 1681.6267 | Box Loss : 3.4908 | Object Loss : 1677.3575 | Class Loss : 0.77836 Epoch : 5 | Iteration : 104 | Learning Rate : 1.1699e-07 | Total Loss : 1663.0557 | Box Loss : 6.277 | Object Loss : 1656.0092 | Class Loss : 0.76947 Epoch : 5 | Iteration : 105 | Learning Rate : 1.2155e-07 | Total Loss : 1651.8859 | Box Loss : 3.8958 | Object Loss : 1647.5018 | Class Loss : 0.48832 Epoch : 5 | Iteration : 106 | Learning Rate : 1.2625e-07 | Total Loss : 1637.6196 | Box Loss : 3.4216 | Object Loss : 1633.6617 | Class Loss : 0.53624 Epoch : 5 | Iteration : 107 | Learning Rate : 1.3108e-07 | Total Loss : 1611.4268 | Box Loss : 2.0408 | Object Loss : 1608.6917 | Class Loss : 0.69436 Epoch : 5 | Iteration : 108 | Learning Rate : 1.3605e-07 | Total Loss : 1588.9783 | Box Loss : 4.4034 | Object Loss : 1584.0145 | Class Loss : 0.56031 Epoch : 5 | Iteration : 109 | Learning Rate : 1.4116e-07 | Total Loss : 1577.9961 | Box Loss : 3.5424 | Object Loss : 1573.731 | Class Loss : 0.7226 Epoch : 5 | Iteration : 110 | Learning Rate : 1.4641e-07 | Total Loss : 1554.6068 | Box Loss : 2.9358 | Object Loss : 1551.1073 | Class Loss : 0.56367 Epoch : 5 | Iteration : 111 | Learning Rate : 1.5181e-07 | Total Loss : 1545.191 | Box Loss : 2.9433 | Object Loss : 1541.4181 | Class Loss : 0.82967 Epoch : 5 | Iteration : 112 | Learning Rate : 1.5735e-07 | Total Loss : 1516.0305 | Box Loss : 2.7912 | Object Loss : 1512.7938 | Class Loss : 0.44542 Epoch : 5 | Iteration : 113 | Learning Rate : 1.6305e-07 | Total Loss : 1504.9351 | Box Loss : 6.1784 | Object Loss : 1498.2 | Class Loss : 0.55669 Epoch : 5 | Iteration : 114 | Learning Rate : 1.689e-07 | Total Loss : 1481.5167 | Box Loss : 3.3483 | Object Loss : 1477.4575 | Class Loss : 0.71095 Epoch : 5 | Iteration : 115 | Learning Rate : 1.749e-07 | Total Loss : 1446.4066 | Box Loss : 4.169 | Object Loss : 1441.9678 | Class Loss : 0.26987 Epoch : 6 | Iteration : 116 | Learning Rate : 1.8106e-07 | Total Loss : 1447.542 | Box Loss : 4.7388 | Object Loss : 1442.2832 | Class Loss : 0.52001 Epoch : 6 | Iteration : 117 | Learning Rate : 1.8739e-07 | Total Loss : 1410.4972 | Box Loss : 4.8979 | Object Loss : 1404.7754 | Class Loss : 0.8239 Epoch : 6 | Iteration : 118 | Learning Rate : 1.9388e-07 | Total Loss : 1401.3512 | Box Loss : 2.5921 | Object Loss : 1398.2458 | Class Loss : 0.51321 Epoch : 6 | Iteration : 119 | Learning Rate : 2.0053e-07 | Total Loss : 1370.1278 | Box Loss : 1.8787 | Object Loss : 1367.7649 | Class Loss : 0.48423 Epoch : 6 | Iteration : 120 | Learning Rate : 2.0736e-07 | Total Loss : 1352.739 | Box Loss : 4.8197 | Object Loss : 1347.353 | Class Loss : 0.56634 Epoch : 6 | Iteration : 121 | Learning Rate : 2.1436e-07 | Total Loss : 1333.5609 | Box Loss : 2.1018 | Object Loss : 1330.7599 | Class Loss : 0.69922 Epoch : 6 | Iteration : 122 | Learning Rate : 2.2153e-07 | Total Loss : 1299.8704 | Box Loss : 2.1882 | Object Loss : 1297.166 | Class Loss : 0.51607 Epoch : 6 | Iteration : 123 | Learning Rate : 2.2889e-07 | Total Loss : 1282.7609 | Box Loss : 3.0205 | Object Loss : 1279.2159 | Class Loss : 0.52443 Epoch : 6 | Iteration : 124 | Learning Rate : 2.3642e-07 | Total Loss : 1272.4924 | Box Loss : 2.5574 | Object Loss : 1269.4204 | Class Loss : 0.51467 Epoch : 6 | Iteration : 125 | Learning Rate : 2.4414e-07 | Total Loss : 1250.6395 | Box Loss : 4.9803 | Object Loss : 1244.9894 | Class Loss : 0.66982 Epoch : 6 | Iteration : 126 | Learning Rate : 2.5205e-07 | Total Loss : 1215.4714 | Box Loss : 4.1274 | Object Loss : 1210.7234 | Class Loss : 0.62054 Epoch : 6 | Iteration : 127 | Learning Rate : 2.6014e-07 | Total Loss : 1198.6125 | Box Loss : 3.395 | Object Loss : 1194.76 | Class Loss : 0.45757 Epoch : 6 | Iteration : 128 | Learning Rate : 2.6844e-07 | Total Loss : 1166.0612 | Box Loss : 1.8501 | Object Loss : 1163.7635 | Class Loss : 0.44757 Epoch : 6 | Iteration : 129 | Learning Rate : 2.7692e-07 | Total Loss : 1145.3256 | Box Loss : 5.843 | Object Loss : 1138.7683 | Class Loss : 0.71427 Epoch : 6 | Iteration : 130 | Learning Rate : 2.8561e-07 | Total Loss : 1121.3236 | Box Loss : 1.5061 | Object Loss : 1119.2224 | Class Loss : 0.59509 Epoch : 6 | Iteration : 131 | Learning Rate : 2.945e-07 | Total Loss : 1107.7411 | Box Loss : 1.7676 | Object Loss : 1105.3784 | Class Loss : 0.59508 Epoch : 6 | Iteration : 132 | Learning Rate : 3.036e-07 | Total Loss : 1084.3871 | Box Loss : 3.8119 | Object Loss : 1079.9816 | Class Loss : 0.59367 Epoch : 6 | Iteration : 133 | Learning Rate : 3.129e-07 | Total Loss : 1061.6428 | Box Loss : 2.3155 | Object Loss : 1058.6475 | Class Loss : 0.67995 Epoch : 6 | Iteration : 134 | Learning Rate : 3.2242e-07 | Total Loss : 1032.1377 | Box Loss : 2.9454 | Object Loss : 1028.4749 | Class Loss : 0.71751 Epoch : 6 | Iteration : 135 | Learning Rate : 3.3215e-07 | Total Loss : 1010.8308 | Box Loss : 5.0547 | Object Loss : 1005.1586 | Class Loss : 0.61748 Epoch : 6 | Iteration : 136 | Learning Rate : 3.421e-07 | Total Loss : 980.6289 | Box Loss : 2.3295 | Object Loss : 977.5277 | Class Loss : 0.77165 Epoch : 6 | Iteration : 137 | Learning Rate : 3.5228e-07 | Total Loss : 954.4264 | Box Loss : 1.2685 | Object Loss : 952.7402 | Class Loss : 0.41771 Epoch : 6 | Iteration : 138 | Learning Rate : 3.6267e-07 | Total Loss : 950.8206 | Box Loss : 5.479 | Object Loss : 944.7975 | Class Loss : 0.54406 Epoch : 7 | Iteration : 139 | Learning Rate : 3.733e-07 | Total Loss : 920.5997 | Box Loss : 3.7647 | Object Loss : 916.1279 | Class Loss : 0.70721 Epoch : 7 | Iteration : 140 | Learning Rate : 3.8416e-07 | Total Loss : 886.7099 | Box Loss : 2.1462 | Object Loss : 884.063 | Class Loss : 0.50076 Epoch : 7 | Iteration : 141 | Learning Rate : 3.9525e-07 | Total Loss : 874.2281 | Box Loss : 3.4884 | Object Loss : 870.3276 | Class Loss : 0.41216 Epoch : 7 | Iteration : 142 | Learning Rate : 4.0659e-07 | Total Loss : 856.9265 | Box Loss : 2.3927 | Object Loss : 854.1731 | Class Loss : 0.3606 Epoch : 7 | Iteration : 143 | Learning Rate : 4.1816e-07 | Total Loss : 830.4821 | Box Loss : 2.4321 | Object Loss : 827.4305 | Class Loss : 0.61948 Epoch : 7 | Iteration : 144 | Learning Rate : 4.2998e-07 | Total Loss : 803.5051 | Box Loss : 4.0953 | Object Loss : 798.4871 | Class Loss : 0.92264 Epoch : 7 | Iteration : 145 | Learning Rate : 4.4205e-07 | Total Loss : 787.3389 | Box Loss : 2.6817 | Object Loss : 784.1239 | Class Loss : 0.53327 Epoch : 7 | Iteration : 146 | Learning Rate : 4.5437e-07 | Total Loss : 766.8655 | Box Loss : 4.5345 | Object Loss : 761.6417 | Class Loss : 0.68924 Epoch : 7 | Iteration : 147 | Learning Rate : 4.6695e-07 | Total Loss : 747.8558 | Box Loss : 1.6245 | Object Loss : 745.6534 | Class Loss : 0.57786 Epoch : 7 | Iteration : 148 | Learning Rate : 4.7979e-07 | Total Loss : 724.8915 | Box Loss : 4.2896 | Object Loss : 720.0224 | Class Loss : 0.57949 Epoch : 7 | Iteration : 149 | Learning Rate : 4.9288e-07 | Total Loss : 707.7861 | Box Loss : 3.0635 | Object Loss : 704.1108 | Class Loss : 0.61181 Epoch : 7 | Iteration : 150 | Learning Rate : 5.0625e-07 | Total Loss : 682.8471 | Box Loss : 1.9388 | Object Loss : 680.3842 | Class Loss : 0.5242 Epoch : 7 | Iteration : 151 | Learning Rate : 5.1989e-07 | Total Loss : 661.091 | Box Loss : 2.2959 | Object Loss : 658.3548 | Class Loss : 0.44027 Epoch : 7 | Iteration : 152 | Learning Rate : 5.3379e-07 | Total Loss : 649.2206 | Box Loss : 2.3278 | Object Loss : 646.3533 | Class Loss : 0.53957 Epoch : 7 | Iteration : 153 | Learning Rate : 5.4798e-07 | Total Loss : 628.3187 | Box Loss : 2.3732 | Object Loss : 625.4421 | Class Loss : 0.50344 Epoch : 7 | Iteration : 154 | Learning Rate : 5.6245e-07 | Total Loss : 611.2161 | Box Loss : 1.4037 | Object Loss : 609.1978 | Class Loss : 0.61459 Epoch : 7 | Iteration : 155 | Learning Rate : 5.772e-07 | Total Loss : 592.9767 | Box Loss : 2.4407 | Object Loss : 589.9943 | Class Loss : 0.54181 Epoch : 7 | Iteration : 156 | Learning Rate : 5.9224e-07 | Total Loss : 575.8509 | Box Loss : 4.8618 | Object Loss : 570.1839 | Class Loss : 0.80518 Epoch : 7 | Iteration : 157 | Learning Rate : 6.0757e-07 | Total Loss : 558.6267 | Box Loss : 2.241 | Object Loss : 555.8766 | Class Loss : 0.50903 Epoch : 7 | Iteration : 158 | Learning Rate : 6.232e-07 | Total Loss : 545.6277 | Box Loss : 1.87 | Object Loss : 542.9493 | Class Loss : 0.8084 Epoch : 7 | Iteration : 159 | Learning Rate : 6.3913e-07 | Total Loss : 533.227 | Box Loss : 2.6881 | Object Loss : 530.0394 | Class Loss : 0.49956 Epoch : 7 | Iteration : 160 | Learning Rate : 6.5536e-07 | Total Loss : 510.7053 | Box Loss : 3.0112 | Object Loss : 507.2845 | Class Loss : 0.4097 Epoch : 7 | Iteration : 161 | Learning Rate : 6.719e-07 | Total Loss : 500.6588 | Box Loss : 1.882 | Object Loss : 498.0595 | Class Loss : 0.71724 Epoch : 8 | Iteration : 162 | Learning Rate : 6.8875e-07 | Total Loss : 482.7756 | Box Loss : 4.3151 | Object Loss : 477.9934 | Class Loss : 0.46708 Epoch : 8 | Iteration : 163 | Learning Rate : 7.0591e-07 | Total Loss : 468.5723 | Box Loss : 3.9805 | Object Loss : 463.912 | Class Loss : 0.67974 Epoch : 8 | Iteration : 164 | Learning Rate : 7.2339e-07 | Total Loss : 455.5461 | Box Loss : 2.7851 | Object Loss : 452.0892 | Class Loss : 0.67181 Epoch : 8 | Iteration : 165 | Learning Rate : 7.412e-07 | Total Loss : 440.152 | Box Loss : 1.8796 | Object Loss : 437.8831 | Class Loss : 0.3893 Epoch : 8 | Iteration : 166 | Learning Rate : 7.5933e-07 | Total Loss : 424.8647 | Box Loss : 0.95922 | Object Loss : 423.4963 | Class Loss : 0.40921 Epoch : 8 | Iteration : 167 | Learning Rate : 7.778e-07 | Total Loss : 413.4631 | Box Loss : 1.684 | Object Loss : 411.2394 | Class Loss : 0.53968 Epoch : 8 | Iteration : 168 | Learning Rate : 7.9659e-07 | Total Loss : 402.9919 | Box Loss : 3.5577 | Object Loss : 398.8732 | Class Loss : 0.56104 Epoch : 8 | Iteration : 169 | Learning Rate : 8.1573e-07 | Total Loss : 388.0714 | Box Loss : 2.3663 | Object Loss : 385.1064 | Class Loss : 0.59866 Epoch : 8 | Iteration : 170 | Learning Rate : 8.3521e-07 | Total Loss : 374.811 | Box Loss : 1.3496 | Object Loss : 373.0375 | Class Loss : 0.42392 Epoch : 8 | Iteration : 171 | Learning Rate : 8.5504e-07 | Total Loss : 365.7278 | Box Loss : 3.9867 | Object Loss : 361.0733 | Class Loss : 0.66776 Epoch : 8 | Iteration : 172 | Learning Rate : 8.7521e-07 | Total Loss : 356.4079 | Box Loss : 2.453 | Object Loss : 353.4033 | Class Loss : 0.55167 Epoch : 8 | Iteration : 173 | Learning Rate : 8.9575e-07 | Total Loss : 343.1337 | Box Loss : 2.5413 | Object Loss : 339.976 | Class Loss : 0.61644 Epoch : 8 | Iteration : 174 | Learning Rate : 9.1664e-07 | Total Loss : 334.107 | Box Loss : 2.193 | Object Loss : 331.0905 | Class Loss : 0.82353 Epoch : 8 | Iteration : 175 | Learning Rate : 9.3789e-07 | Total Loss : 328.5016 | Box Loss : 4.1864 | Object Loss : 323.8095 | Class Loss : 0.50573 Epoch : 8 | Iteration : 176 | Learning Rate : 9.5951e-07 | Total Loss : 311.0597 | Box Loss : 1.8204 | Object Loss : 308.9083 | Class Loss : 0.33105 Epoch : 8 | Iteration : 177 | Learning Rate : 9.8151e-07 | Total Loss : 307.1644 | Box Loss : 3.8359 | Object Loss : 302.7261 | Class Loss : 0.60237 Epoch : 8 | Iteration : 178 | Learning Rate : 1.0039e-06 | Total Loss : 295.8521 | Box Loss : 1.7389 | Object Loss : 293.512 | Class Loss : 0.60122 Epoch : 8 | Iteration : 179 | Learning Rate : 1.0266e-06 | Total Loss : 290.2374 | Box Loss : 2.9788 | Object Loss : 286.4553 | Class Loss : 0.80327 Epoch : 8 | Iteration : 180 | Learning Rate : 1.0498e-06 | Total Loss : 278.6443 | Box Loss : 1.6312 | Object Loss : 276.5125 | Class Loss : 0.50063 Epoch : 8 | Iteration : 181 | Learning Rate : 1.0733e-06 | Total Loss : 272.516 | Box Loss : 1.741 | Object Loss : 270.2593 | Class Loss : 0.51579 Epoch : 8 | Iteration : 182 | Learning Rate : 1.0972e-06 | Total Loss : 262.8264 | Box Loss : 2.4952 | Object Loss : 259.7936 | Class Loss : 0.53762 Epoch : 8 | Iteration : 183 | Learning Rate : 1.1215e-06 | Total Loss : 255.7794 | Box Loss : 1.3871 | Object Loss : 254.0543 | Class Loss : 0.33794 Epoch : 8 | Iteration : 184 | Learning Rate : 1.1462e-06 | Total Loss : 249.4258 | Box Loss : 4.6335 | Object Loss : 244.1304 | Class Loss : 0.6619 Epoch : 9 | Iteration : 185 | Learning Rate : 1.1714e-06 | Total Loss : 245.537 | Box Loss : 6.6451 | Object Loss : 238.3023 | Class Loss : 0.58964 Epoch : 9 | Iteration : 186 | Learning Rate : 1.1969e-06 | Total Loss : 238.5719 | Box Loss : 2.0229 | Object Loss : 236.0748 | Class Loss : 0.47414 Epoch : 9 | Iteration : 187 | Learning Rate : 1.2228e-06 | Total Loss : 224.8348 | Box Loss : 1.2722 | Object Loss : 223.0252 | Class Loss : 0.53734 Epoch : 9 | Iteration : 188 | Learning Rate : 1.2492e-06 | Total Loss : 221.2518 | Box Loss : 1.8325 | Object Loss : 218.8065 | Class Loss : 0.61271 Epoch : 9 | Iteration : 189 | Learning Rate : 1.276e-06 | Total Loss : 215.7116 | Box Loss : 1.0737 | Object Loss : 214.1493 | Class Loss : 0.48865 Epoch : 9 | Iteration : 190 | Learning Rate : 1.3032e-06 | Total Loss : 208.2681 | Box Loss : 3.0667 | Object Loss : 204.7304 | Class Loss : 0.47088 Epoch : 9 | Iteration : 191 | Learning Rate : 1.3309e-06 | Total Loss : 204.9479 | Box Loss : 2.8997 | Object Loss : 201.2484 | Class Loss : 0.79992 Epoch : 9 | Iteration : 192 | Learning Rate : 1.359e-06 | Total Loss : 194.3042 | Box Loss : 1.6634 | Object Loss : 192.0485 | Class Loss : 0.59222 Epoch : 9 | Iteration : 193 | Learning Rate : 1.3875e-06 | Total Loss : 192.862 | Box Loss : 2.6475 | Object Loss : 189.624 | Class Loss : 0.59048 Epoch : 9 | Iteration : 194 | Learning Rate : 1.4165e-06 | Total Loss : 185.9765 | Box Loss : 1.4347 | Object Loss : 184.0554 | Class Loss : 0.48638 Epoch : 9 | Iteration : 195 | Learning Rate : 1.4459e-06 | Total Loss : 181.3524 | Box Loss : 2.5645 | Object Loss : 178.0999 | Class Loss : 0.68799 Epoch : 9 | Iteration : 196 | Learning Rate : 1.4758e-06 | Total Loss : 175.0837 | Box Loss : 1.1376 | Object Loss : 173.5423 | Class Loss : 0.40379 Epoch : 9 | Iteration : 197 | Learning Rate : 1.5061e-06 | Total Loss : 172.47 | Box Loss : 2.7052 | Object Loss : 169.3542 | Class Loss : 0.41053 Epoch : 9 | Iteration : 198 | Learning Rate : 1.537e-06 | Total Loss : 167.8906 | Box Loss : 2.1754 | Object Loss : 165.1792 | Class Loss : 0.53594 Epoch : 9 | Iteration : 199 | Learning Rate : 1.5682e-06 | Total Loss : 163.7262 | Box Loss : 3.1509 | Object Loss : 160.1136 | Class Loss : 0.46167 Epoch : 9 | Iteration : 200 | Learning Rate : 1.6e-06 | Total Loss : 157.0047 | Box Loss : 1.8896 | Object Loss : 154.6646 | Class Loss : 0.45044 Epoch : 9 | Iteration : 201 | Learning Rate : 1.6322e-06 | Total Loss : 155.4718 | Box Loss : 2.9187 | Object Loss : 151.9122 | Class Loss : 0.64093 Epoch : 9 | Iteration : 202 | Learning Rate : 1.665e-06 | Total Loss : 150.253 | Box Loss : 1.4516 | Object Loss : 148.2571 | Class Loss : 0.54436 Epoch : 9 | Iteration : 203 | Learning Rate : 1.6982e-06 | Total Loss : 147.4376 | Box Loss : 1.4957 | Object Loss : 145.1635 | Class Loss : 0.77833 Epoch : 9 | Iteration : 204 | Learning Rate : 1.7319e-06 | Total Loss : 143.4381 | Box Loss : 1.4524 | Object Loss : 141.2332 | Class Loss : 0.75252 Epoch : 9 | Iteration : 205 | Learning Rate : 1.7661e-06 | Total Loss : 139.4781 | Box Loss : 2.1622 | Object Loss : 136.841 | Class Loss : 0.47489 Epoch : 9 | Iteration : 206 | Learning Rate : 1.8008e-06 | Total Loss : 135.4959 | Box Loss : 1.7917 | Object Loss : 133.076 | Class Loss : 0.62819 Epoch : 9 | Iteration : 207 | Learning Rate : 1.836e-06 | Total Loss : 151.6894 | Box Loss : 16.8452 | Object Loss : 133.559 | Class Loss : 1.2852 Epoch : 10 | Iteration : 208 | Learning Rate : 1.8718e-06 | Total Loss : 130.3298 | Box Loss : 3.2905 | Object Loss : 126.4972 | Class Loss : 0.54209 Epoch : 10 | Iteration : 209 | Learning Rate : 1.908e-06 | Total Loss : 123.955 | Box Loss : 0.64779 | Object Loss : 122.8501 | Class Loss : 0.45706 Epoch : 10 | Iteration : 210 | Learning Rate : 1.9448e-06 | Total Loss : 122.9245 | Box Loss : 2.1818 | Object Loss : 120.316 | Class Loss : 0.42669 Epoch : 10 | Iteration : 211 | Learning Rate : 1.9821e-06 | Total Loss : 120.8997 | Box Loss : 1.5668 | Object Loss : 118.8077 | Class Loss : 0.52523 Epoch : 10 | Iteration : 212 | Learning Rate : 2.02e-06 | Total Loss : 118.3063 | Box Loss : 2.2124 | Object Loss : 115.522 | Class Loss : 0.57182 Epoch : 10 | Iteration : 213 | Learning Rate : 2.0583e-06 | Total Loss : 113.0302 | Box Loss : 1.4393 | Object Loss : 111.2402 | Class Loss : 0.35071 Epoch : 10 | Iteration : 214 | Learning Rate : 2.0973e-06 | Total Loss : 111.292 | Box Loss : 1.5763 | Object Loss : 109.3507 | Class Loss : 0.36501 Epoch : 10 | Iteration : 215 | Learning Rate : 2.1368e-06 | Total Loss : 110.2187 | Box Loss : 3.697 | Object Loss : 105.9979 | Class Loss : 0.52385 Epoch : 10 | Iteration : 216 | Learning Rate : 2.1768e-06 | Total Loss : 107.9202 | Box Loss : 2.8203 | Object Loss : 104.4144 | Class Loss : 0.68554 Epoch : 10 | Iteration : 217 | Learning Rate : 2.2174e-06 | Total Loss : 105.8905 | Box Loss : 1.6596 | Object Loss : 103.7231 | Class Loss : 0.50786 Epoch : 10 | Iteration : 218 | Learning Rate : 2.2585e-06 | Total Loss : 103.5545 | Box Loss : 2.885 | Object Loss : 99.9706 | Class Loss : 0.6989 Epoch : 10 | Iteration : 219 | Learning Rate : 2.3003e-06 | Total Loss : 97.551 | Box Loss : 0.8408 | Object Loss : 96.1815 | Class Loss : 0.52869 Epoch : 10 | Iteration : 220 | Learning Rate : 2.3426e-06 | Total Loss : 96.6629 | Box Loss : 0.75809 | Object Loss : 95.4954 | Class Loss : 0.40937 Epoch : 10 | Iteration : 221 | Learning Rate : 2.3854e-06 | Total Loss : 96.9953 | Box Loss : 4.1857 | Object Loss : 92.1798 | Class Loss : 0.6298 Epoch : 10 | Iteration : 222 | Learning Rate : 2.4289e-06 | Total Loss : 93.509 | Box Loss : 2.001 | Object Loss : 90.8811 | Class Loss : 0.62687 Epoch : 10 | Iteration : 223 | Learning Rate : 2.473e-06 | Total Loss : 91.9346 | Box Loss : 1.7513 | Object Loss : 89.7099 | Class Loss : 0.47336 Epoch : 10 | Iteration : 224 | Learning Rate : 2.5176e-06 | Total Loss : 88.4763 | Box Loss : 2.1265 | Object Loss : 85.839 | Class Loss : 0.5108 Epoch : 10 | Iteration : 225 | Learning Rate : 2.5629e-06 | Total Loss : 85.629 | Box Loss : 0.98446 | Object Loss : 84.2665 | Class Loss : 0.3781 Epoch : 10 | Iteration : 226 | Learning Rate : 2.6088e-06 | Total Loss : 86.2569 | Box Loss : 2.1277 | Object Loss : 83.5847 | Class Loss : 0.54448 Epoch : 10 | Iteration : 227 | Learning Rate : 2.6552e-06 | Total Loss : 83.1799 | Box Loss : 1.347 | Object Loss : 81.3644 | Class Loss : 0.46843 Epoch : 10 | Iteration : 228 | Learning Rate : 2.7023e-06 | Total Loss : 81.1243 | Box Loss : 1.4545 | Object Loss : 78.8732 | Class Loss : 0.79659 Epoch : 10 | Iteration : 229 | Learning Rate : 2.7501e-06 | Total Loss : 81.2041 | Box Loss : 2.5103 | Object Loss : 78.0889 | Class Loss : 0.60492 Epoch : 10 | Iteration : 230 | Learning Rate : 2.7984e-06 | Total Loss : 75.1246 | Box Loss : 0.27143 | Object Loss : 74.5554 | Class Loss : 0.29782 Epoch : 11 | Iteration : 231 | Learning Rate : 2.8474e-06 | Total Loss : 79.0376 | Box Loss : 3.4272 | Object Loss : 75.0811 | Class Loss : 0.52923 Epoch : 11 | Iteration : 232 | Learning Rate : 2.897e-06 | Total Loss : 73.4143 | Box Loss : 0.50453 | Object Loss : 72.4067 | Class Loss : 0.50303 Epoch : 11 | Iteration : 233 | Learning Rate : 2.9473e-06 | Total Loss : 74.4846 | Box Loss : 1.8336 | Object Loss : 71.9536 | Class Loss : 0.69742 Epoch : 11 | Iteration : 234 | Learning Rate : 2.9982e-06 | Total Loss : 72.1833 | Box Loss : 1.3446 | Object Loss : 70.3828 | Class Loss : 0.45593 Epoch : 11 | Iteration : 235 | Learning Rate : 3.0498e-06 | Total Loss : 70.0606 | Box Loss : 2.1287 | Object Loss : 67.4821 | Class Loss : 0.44973 Epoch : 11 | Iteration : 236 | Learning Rate : 3.102e-06 | Total Loss : 69.5047 | Box Loss : 2.2682 | Object Loss : 66.7052 | Class Loss : 0.53131 Epoch : 11 | Iteration : 237 | Learning Rate : 3.155e-06 | Total Loss : 67.5093 | Box Loss : 1.4033 | Object Loss : 65.7894 | Class Loss : 0.31664 Epoch : 11 | Iteration : 238 | Learning Rate : 3.2085e-06 | Total Loss : 65.0801 | Box Loss : 1.0371 | Object Loss : 63.5287 | Class Loss : 0.51429 Epoch : 11 | Iteration : 239 | Learning Rate : 3.2628e-06 | Total Loss : 65.2496 | Box Loss : 1.5765 | Object Loss : 63.0764 | Class Loss : 0.59679 Epoch : 11 | Iteration : 240 | Learning Rate : 3.3178e-06 | Total Loss : 64.575 | Box Loss : 1.7407 | Object Loss : 62.1388 | Class Loss : 0.69552 Epoch : 11 | Iteration : 241 | Learning Rate : 3.3734e-06 | Total Loss : 64.5196 | Box Loss : 2.1123 | Object Loss : 61.7703 | Class Loss : 0.63696 Epoch : 11 | Iteration : 242 | Learning Rate : 3.4297e-06 | Total Loss : 61.7999 | Box Loss : 2.0481 | Object Loss : 59.1433 | Class Loss : 0.60848 Epoch : 11 | Iteration : 243 | Learning Rate : 3.4868e-06 | Total Loss : 59.071 | Box Loss : 1.6958 | Object Loss : 56.9139 | Class Loss : 0.46125 Epoch : 11 | Iteration : 244 | Learning Rate : 3.5445e-06 | Total Loss : 60.6312 | Box Loss : 2.3208 | Object Loss : 57.7375 | Class Loss : 0.57292 Epoch : 11 | Iteration : 245 | Learning Rate : 3.603e-06 | Total Loss : 56.0652 | Box Loss : 0.81476 | Object Loss : 54.8619 | Class Loss : 0.38854 Epoch : 11 | Iteration : 246 | Learning Rate : 3.6622e-06 | Total Loss : 55.6922 | Box Loss : 0.96189 | Object Loss : 54.3759 | Class Loss : 0.35436 Epoch : 11 | Iteration : 247 | Learning Rate : 3.7221e-06 | Total Loss : 54.9431 | Box Loss : 1.6455 | Object Loss : 52.815 | Class Loss : 0.48265 Epoch : 11 | Iteration : 248 | Learning Rate : 3.7827e-06 | Total Loss : 54.0564 | Box Loss : 1.4288 | Object Loss : 52.3493 | Class Loss : 0.27834 Epoch : 11 | Iteration : 249 | Learning Rate : 3.8441e-06 | Total Loss : 54.5192 | Box Loss : 1.6075 | Object Loss : 52.3839 | Class Loss : 0.52773 Epoch : 11 | Iteration : 250 | Learning Rate : 3.9063e-06 | Total Loss : 50.9148 | Box Loss : 0.64433 | Object Loss : 49.8191 | Class Loss : 0.45141 Epoch : 11 | Iteration : 251 | Learning Rate : 3.9691e-06 | Total Loss : 49.9751 | Box Loss : 1.0272 | Object Loss : 48.508 | Class Loss : 0.4399 Epoch : 11 | Iteration : 252 | Learning Rate : 4.0328e-06 | Total Loss : 51.7999 | Box Loss : 1.8292 | Object Loss : 49.2302 | Class Loss : 0.74052 Epoch : 11 | Iteration : 253 | Learning Rate : 4.0972e-06 | Total Loss : 53.6939 | Box Loss : 3.1018 | Object Loss : 49.5866 | Class Loss : 1.0054 Epoch : 12 | Iteration : 254 | Learning Rate : 4.1623e-06 | Total Loss : 48.7768 | Box Loss : 0.98468 | Object Loss : 47.3193 | Class Loss : 0.47286 Epoch : 12 | Iteration : 255 | Learning Rate : 4.2283e-06 | Total Loss : 49.4233 | Box Loss : 1.9577 | Object Loss : 46.9834 | Class Loss : 0.48223 Epoch : 12 | Iteration : 256 | Learning Rate : 4.295e-06 | Total Loss : 45.1711 | Box Loss : 0.52608 | Object Loss : 44.2151 | Class Loss : 0.42999 Epoch : 12 | Iteration : 257 | Learning Rate : 4.3625e-06 | Total Loss : 47.404 | Box Loss : 1.4689 | Object Loss : 45.4146 | Class Loss : 0.52055 Epoch : 12 | Iteration : 258 | Learning Rate : 4.4308e-06 | Total Loss : 45.8223 | Box Loss : 1.727 | Object Loss : 43.6486 | Class Loss : 0.44666 Epoch : 12 | Iteration : 259 | Learning Rate : 4.4999e-06 | Total Loss : 44.0125 | Box Loss : 1.4235 | Object Loss : 42.2035 | Class Loss : 0.38551 Epoch : 12 | Iteration : 260 | Learning Rate : 4.5698e-06 | Total Loss : 43.6457 | Box Loss : 1.0148 | Object Loss : 42.264 | Class Loss : 0.36687 Epoch : 12 | Iteration : 261 | Learning Rate : 4.6405e-06 | Total Loss : 42.8426 | Box Loss : 1.0523 | Object Loss : 41.2832 | Class Loss : 0.50707 Epoch : 12 | Iteration : 262 | Learning Rate : 4.712e-06 | Total Loss : 42.7025 | Box Loss : 1.6951 | Object Loss : 40.5779 | Class Loss : 0.42952 Epoch : 12 | Iteration : 263 | Learning Rate : 4.7844e-06 | Total Loss : 41.9598 | Box Loss : 1.1832 | Object Loss : 40.2526 | Class Loss : 0.52401 Epoch : 12 | Iteration : 264 | Learning Rate : 4.8575e-06 | Total Loss : 42.3087 | Box Loss : 1.4446 | Object Loss : 40.2068 | Class Loss : 0.65728 Epoch : 12 | Iteration : 265 | Learning Rate : 4.9316e-06 | Total Loss : 42.6846 | Box Loss : 2.1949 | Object Loss : 39.9024 | Class Loss : 0.58729 Epoch : 12 | Iteration : 266 | Learning Rate : 5.0064e-06 | Total Loss : 40.3707 | Box Loss : 1.7943 | Object Loss : 38.0154 | Class Loss : 0.56103 Epoch : 12 | Iteration : 267 | Learning Rate : 5.0821e-06 | Total Loss : 38.4586 | Box Loss : 0.97707 | Object Loss : 37.0044 | Class Loss : 0.4772 Epoch : 12 | Iteration : 268 | Learning Rate : 5.1587e-06 | Total Loss : 38.25 | Box Loss : 0.83939 | Object Loss : 37.0145 | Class Loss : 0.39606 Epoch : 12 | Iteration : 269 | Learning Rate : 5.2361e-06 | Total Loss : 36.7243 | Box Loss : 0.36276 | Object Loss : 35.9324 | Class Loss : 0.42916 Epoch : 12 | Iteration : 270 | Learning Rate : 5.3144e-06 | Total Loss : 36.9852 | Box Loss : 1.5355 | Object Loss : 35.0721 | Class Loss : 0.37763 Epoch : 12 | Iteration : 271 | Learning Rate : 5.3936e-06 | Total Loss : 37.2974 | Box Loss : 1.3626 | Object Loss : 35.5152 | Class Loss : 0.41965 Epoch : 12 | Iteration : 272 | Learning Rate : 5.4736e-06 | Total Loss : 35.8527 | Box Loss : 0.80992 | Object Loss : 34.4731 | Class Loss : 0.56959 Epoch : 12 | Iteration : 273 | Learning Rate : 5.5546e-06 | Total Loss : 37.5231 | Box Loss : 1.6429 | Object Loss : 35.2527 | Class Loss : 0.62757 Epoch : 12 | Iteration : 274 | Learning Rate : 5.6364e-06 | Total Loss : 35.3775 | Box Loss : 1.3198 | Object Loss : 33.6527 | Class Loss : 0.40501 Epoch : 12 | Iteration : 275 | Learning Rate : 5.7191e-06 | Total Loss : 34.1811 | Box Loss : 1.5352 | Object Loss : 32.298 | Class Loss : 0.34784 Epoch : 12 | Iteration : 276 | Learning Rate : 5.8028e-06 | Total Loss : 32.1206 | Box Loss : 0.072668 | Object Loss : 31.8403 | Class Loss : 0.20765 Epoch : 13 | Iteration : 277 | Learning Rate : 5.8873e-06 | Total Loss : 32.9848 | Box Loss : 0.83384 | Object Loss : 31.6276 | Class Loss : 0.52341 Epoch : 13 | Iteration : 278 | Learning Rate : 5.9728e-06 | Total Loss : 33.6007 | Box Loss : 1.1468 | Object Loss : 31.9988 | Class Loss : 0.45515 Epoch : 13 | Iteration : 279 | Learning Rate : 6.0592e-06 | Total Loss : 32.4009 | Box Loss : 1.6988 | Object Loss : 30.308 | Class Loss : 0.39409 Epoch : 13 | Iteration : 280 | Learning Rate : 6.1466e-06 | Total Loss : 32.788 | Box Loss : 1.4912 | Object Loss : 30.8687 | Class Loss : 0.4282 Epoch : 13 | Iteration : 281 | Learning Rate : 6.2348e-06 | Total Loss : 33.6716 | Box Loss : 1.5219 | Object Loss : 31.6115 | Class Loss : 0.53822 Epoch : 13 | Iteration : 282 | Learning Rate : 6.3241e-06 | Total Loss : 31.028 | Box Loss : 1.098 | Object Loss : 29.5333 | Class Loss : 0.3967 Epoch : 13 | Iteration : 283 | Learning Rate : 6.4142e-06 | Total Loss : 30.2471 | Box Loss : 0.81254 | Object Loss : 29.06 | Class Loss : 0.37458 Epoch : 13 | Iteration : 284 | Learning Rate : 6.5054e-06 | Total Loss : 30.5616 | Box Loss : 1.4204 | Object Loss : 28.7683 | Class Loss : 0.37296 Epoch : 13 | Iteration : 285 | Learning Rate : 6.5975e-06 | Total Loss : 29.9051 | Box Loss : 1.154 | Object Loss : 28.4039 | Class Loss : 0.34721 Epoch : 13 | Iteration : 286 | Learning Rate : 6.6906e-06 | Total Loss : 29.5435 | Box Loss : 1.1525 | Object Loss : 27.906 | Class Loss : 0.48489 Epoch : 13 | Iteration : 287 | Learning Rate : 6.7847e-06 | Total Loss : 28.0475 | Box Loss : 0.90402 | Object Loss : 26.8044 | Class Loss : 0.33906 Epoch : 13 | Iteration : 288 | Learning Rate : 6.8797e-06 | Total Loss : 30.9531 | Box Loss : 1.9343 | Object Loss : 28.4668 | Class Loss : 0.55198 Epoch : 13 | Iteration : 289 | Learning Rate : 6.9758e-06 | Total Loss : 29.5509 | Box Loss : 1.6881 | Object Loss : 27.4405 | Class Loss : 0.4222 Epoch : 13 | Iteration : 290 | Learning Rate : 7.0728e-06 | Total Loss : 27.9723 | Box Loss : 1.0452 | Object Loss : 26.4545 | Class Loss : 0.4726 Epoch : 13 | Iteration : 291 | Learning Rate : 7.1709e-06 | Total Loss : 27.0647 | Box Loss : 0.92261 | Object Loss : 25.8066 | Class Loss : 0.33554 Epoch : 13 | Iteration : 292 | Learning Rate : 7.2699e-06 | Total Loss : 26.2642 | Box Loss : 0.7257 | Object Loss : 25.2021 | Class Loss : 0.33634 Epoch : 13 | Iteration : 293 | Learning Rate : 7.3701e-06 | Total Loss : 26.0426 | Box Loss : 0.84798 | Object Loss : 24.8537 | Class Loss : 0.3409 Epoch : 13 | Iteration : 294 | Learning Rate : 7.4712e-06 | Total Loss : 25.1769 | Box Loss : 0.34435 | Object Loss : 24.4557 | Class Loss : 0.37682 Epoch : 13 | Iteration : 295 | Learning Rate : 7.5734e-06 | Total Loss : 25.8779 | Box Loss : 0.73083 | Object Loss : 24.5958 | Class Loss : 0.55121 Epoch : 13 | Iteration : 296 | Learning Rate : 7.6766e-06 | Total Loss : 25.0045 | Box Loss : 0.76468 | Object Loss : 23.8644 | Class Loss : 0.37537 Epoch : 13 | Iteration : 297 | Learning Rate : 7.7808e-06 | Total Loss : 27.1041 | Box Loss : 1.8114 | Object Loss : 24.7396 | Class Loss : 0.55318 Epoch : 13 | Iteration : 298 | Learning Rate : 7.8862e-06 | Total Loss : 27.4797 | Box Loss : 1.6207 | Object Loss : 25.301 | Class Loss : 0.55801 Epoch : 13 | Iteration : 299 | Learning Rate : 7.9925e-06 | Total Loss : 26.4747 | Box Loss : 0.94607 | Object Loss : 25.2766 | Class Loss : 0.25199 Epoch : 14 | Iteration : 300 | Learning Rate : 8.1e-06 | Total Loss : 23.4735 | Box Loss : 0.65068 | Object Loss : 22.5667 | Class Loss : 0.2561 Epoch : 14 | Iteration : 301 | Learning Rate : 8.2085e-06 | Total Loss : 25.7068 | Box Loss : 1.0861 | Object Loss : 24.149 | Class Loss : 0.47174 Epoch : 14 | Iteration : 302 | Learning Rate : 8.3182e-06 | Total Loss : 23.1165 | Box Loss : 0.90589 | Object Loss : 21.9181 | Class Loss : 0.29255 Epoch : 14 | Iteration : 303 | Learning Rate : 8.4289e-06 | Total Loss : 22.5633 | Box Loss : 0.73095 | Object Loss : 21.4559 | Class Loss : 0.37652 Epoch : 14 | Iteration : 304 | Learning Rate : 8.5407e-06 | Total Loss : 24.2982 | Box Loss : 1.4886 | Object Loss : 22.3874 | Class Loss : 0.4222 Epoch : 14 | Iteration : 305 | Learning Rate : 8.6537e-06 | Total Loss : 22.2776 | Box Loss : 0.94406 | Object Loss : 20.998 | Class Loss : 0.33558 Epoch : 14 | Iteration : 306 | Learning Rate : 8.7677e-06 | Total Loss : 22.1669 | Box Loss : 1.0104 | Object Loss : 20.851 | Class Loss : 0.30545 Epoch : 14 | Iteration : 307 | Learning Rate : 8.8829e-06 | Total Loss : 23.0523 | Box Loss : 1.2233 | Object Loss : 21.1282 | Class Loss : 0.70076 Epoch : 14 | Iteration : 308 | Learning Rate : 8.9992e-06 | Total Loss : 22.5736 | Box Loss : 0.86523 | Object Loss : 21.3164 | Class Loss : 0.392 Epoch : 14 | Iteration : 309 | Learning Rate : 9.1166e-06 | Total Loss : 23.4343 | Box Loss : 1.4781 | Object Loss : 21.4404 | Class Loss : 0.51575 Epoch : 14 | Iteration : 310 | Learning Rate : 9.2352e-06 | Total Loss : 22.5019 | Box Loss : 0.90839 | Object Loss : 21.13 | Class Loss : 0.46357 Epoch : 14 | Iteration : 311 | Learning Rate : 9.355e-06 | Total Loss : 22.6707 | Box Loss : 1.0287 | Object Loss : 21.2311 | Class Loss : 0.41088 Epoch : 14 | Iteration : 312 | Learning Rate : 9.4759e-06 | Total Loss : 20.3037 | Box Loss : 0.7972 | Object Loss : 19.2077 | Class Loss : 0.29872 Epoch : 14 | Iteration : 313 | Learning Rate : 9.5979e-06 | Total Loss : 24.9406 | Box Loss : 2.2247 | Object Loss : 22.0054 | Class Loss : 0.7105 Epoch : 14 | Iteration : 314 | Learning Rate : 9.7212e-06 | Total Loss : 21.6491 | Box Loss : 1.3531 | Object Loss : 19.9613 | Class Loss : 0.33469 Epoch : 14 | Iteration : 315 | Learning Rate : 9.8456e-06 | Total Loss : 19.9248 | Box Loss : 0.77617 | Object Loss : 18.7892 | Class Loss : 0.35945 Epoch : 14 | Iteration : 316 | Learning Rate : 9.9712e-06 | Total Loss : 18.9517 | Box Loss : 0.53695 | Object Loss : 18.188 | Class Loss : 0.22678 Epoch : 14 | Iteration : 317 | Learning Rate : 1.0098e-05 | Total Loss : 22.1042 | Box Loss : 1.7879 | Object Loss : 19.8364 | Class Loss : 0.47995 Epoch : 14 | Iteration : 318 | Learning Rate : 1.0226e-05 | Total Loss : 18.7485 | Box Loss : 0.62062 | Object Loss : 17.7331 | Class Loss : 0.39474 Epoch : 14 | Iteration : 319 | Learning Rate : 1.0355e-05 | Total Loss : 20.3975 | Box Loss : 0.87357 | Object Loss : 19.0656 | Class Loss : 0.45827 Epoch : 14 | Iteration : 320 | Learning Rate : 1.0486e-05 | Total Loss : 19.8063 | Box Loss : 1.4676 | Object Loss : 17.9057 | Class Loss : 0.43309 Epoch : 14 | Iteration : 321 | Learning Rate : 1.0617e-05 | Total Loss : 19.4166 | Box Loss : 0.75374 | Object Loss : 18.2976 | Class Loss : 0.36532 Epoch : 14 | Iteration : 322 | Learning Rate : 1.075e-05 | Total Loss : 24.5432 | Box Loss : 1.4762 | Object Loss : 22.4664 | Class Loss : 0.60069 Epoch : 15 | Iteration : 323 | Learning Rate : 1.0885e-05 | Total Loss : 18.4276 | Box Loss : 0.98014 | Object Loss : 17.1027 | Class Loss : 0.34474 Epoch : 15 | Iteration : 324 | Learning Rate : 1.102e-05 | Total Loss : 20.2738 | Box Loss : 1.2267 | Object Loss : 18.6558 | Class Loss : 0.39124 Epoch : 15 | Iteration : 325 | Learning Rate : 1.1157e-05 | Total Loss : 17.5261 | Box Loss : 0.7839 | Object Loss : 16.4204 | Class Loss : 0.32173 Epoch : 15 | Iteration : 326 | Learning Rate : 1.1295e-05 | Total Loss : 20.0305 | Box Loss : 1.0768 | Object Loss : 18.4377 | Class Loss : 0.51609 Epoch : 15 | Iteration : 327 | Learning Rate : 1.1434e-05 | Total Loss : 18.1276 | Box Loss : 1.084 | Object Loss : 16.5841 | Class Loss : 0.45952 Epoch : 15 | Iteration : 328 | Learning Rate : 1.1574e-05 | Total Loss : 16.9899 | Box Loss : 0.52159 | Object Loss : 16.25 | Class Loss : 0.21836 Epoch : 15 | Iteration : 329 | Learning Rate : 1.1716e-05 | Total Loss : 17.2788 | Box Loss : 0.79391 | Object Loss : 16.2221 | Class Loss : 0.26281 Epoch : 15 | Iteration : 330 | Learning Rate : 1.1859e-05 | Total Loss : 16.7677 | Box Loss : 0.59361 | Object Loss : 15.8916 | Class Loss : 0.28244 Epoch : 15 | Iteration : 331 | Learning Rate : 1.2004e-05 | Total Loss : 17.8247 | Box Loss : 0.71991 | Object Loss : 16.5339 | Class Loss : 0.57095 Epoch : 15 | Iteration : 332 | Learning Rate : 1.2149e-05 | Total Loss : 17.9062 | Box Loss : 0.95895 | Object Loss : 16.52 | Class Loss : 0.42724 Epoch : 15 | Iteration : 333 | Learning Rate : 1.2296e-05 | Total Loss : 17.3879 | Box Loss : 0.81765 | Object Loss : 16.1917 | Class Loss : 0.37862 Epoch : 15 | Iteration : 334 | Learning Rate : 1.2445e-05 | Total Loss : 15.6942 | Box Loss : 0.55038 | Object Loss : 14.9074 | Class Loss : 0.23641 Epoch : 15 | Iteration : 335 | Learning Rate : 1.2594e-05 | Total Loss : 15.7281 | Box Loss : 0.60656 | Object Loss : 14.9006 | Class Loss : 0.22098 Epoch : 15 | Iteration : 336 | Learning Rate : 1.2746e-05 | Total Loss : 16.8435 | Box Loss : 0.81891 | Object Loss : 15.6955 | Class Loss : 0.32907 Epoch : 15 | Iteration : 337 | Learning Rate : 1.2898e-05 | Total Loss : 20.7239 | Box Loss : 1.6438 | Object Loss : 18.4175 | Class Loss : 0.66266 Epoch : 15 | Iteration : 338 | Learning Rate : 1.3052e-05 | Total Loss : 15.5238 | Box Loss : 0.49358 | Object Loss : 14.7686 | Class Loss : 0.2616 Epoch : 15 | Iteration : 339 | Learning Rate : 1.3207e-05 | Total Loss : 16.3684 | Box Loss : 0.87811 | Object Loss : 15.1227 | Class Loss : 0.36764 Epoch : 15 | Iteration : 340 | Learning Rate : 1.3363e-05 | Total Loss : 15.784 | Box Loss : 0.90518 | Object Loss : 14.5701 | Class Loss : 0.30873 Epoch : 15 | Iteration : 341 | Learning Rate : 1.3521e-05 | Total Loss : 18.1031 | Box Loss : 1.9281 | Object Loss : 15.805 | Class Loss : 0.36997 Epoch : 15 | Iteration : 342 | Learning Rate : 1.3681e-05 | Total Loss : 17.0571 | Box Loss : 1.5809 | Object Loss : 15.1142 | Class Loss : 0.36199 Epoch : 15 | Iteration : 343 | Learning Rate : 1.3841e-05 | Total Loss : 16.2661 | Box Loss : 0.96523 | Object Loss : 14.9404 | Class Loss : 0.36045 Epoch : 15 | Iteration : 344 | Learning Rate : 1.4003e-05 | Total Loss : 15.5492 | Box Loss : 0.8949 | Object Loss : 14.3923 | Class Loss : 0.26203 Epoch : 15 | Iteration : 345 | Learning Rate : 1.4167e-05 | Total Loss : 20.312 | Box Loss : 1.527 | Object Loss : 18.1565 | Class Loss : 0.62849 Epoch : 16 | Iteration : 346 | Learning Rate : 1.4332e-05 | Total Loss : 17.2633 | Box Loss : 1.634 | Object Loss : 15.2527 | Class Loss : 0.37669 Epoch : 16 | Iteration : 347 | Learning Rate : 1.4498e-05 | Total Loss : 14.8747 | Box Loss : 0.7295 | Object Loss : 13.7303 | Class Loss : 0.41487 Epoch : 16 | Iteration : 348 | Learning Rate : 1.4666e-05 | Total Loss : 14.2806 | Box Loss : 0.53956 | Object Loss : 13.4684 | Class Loss : 0.27264 Epoch : 16 | Iteration : 349 | Learning Rate : 1.4835e-05 | Total Loss : 16.0981 | Box Loss : 1.0712 | Object Loss : 14.523 | Class Loss : 0.50388 Epoch : 16 | Iteration : 350 | Learning Rate : 1.5006e-05 | Total Loss : 13.002 | Box Loss : 0.43276 | Object Loss : 12.3231 | Class Loss : 0.24609 Epoch : 16 | Iteration : 351 | Learning Rate : 1.5178e-05 | Total Loss : 14.86 | Box Loss : 1.3465 | Object Loss : 13.2465 | Class Loss : 0.26695 Epoch : 16 | Iteration : 352 | Learning Rate : 1.5352e-05 | Total Loss : 13.5714 | Box Loss : 0.93982 | Object Loss : 12.4149 | Class Loss : 0.21666 Epoch : 16 | Iteration : 353 | Learning Rate : 1.5527e-05 | Total Loss : 14.0531 | Box Loss : 0.75712 | Object Loss : 12.9685 | Class Loss : 0.32748 Epoch : 16 | Iteration : 354 | Learning Rate : 1.5704e-05 | Total Loss : 12.627 | Box Loss : 0.40763 | Object Loss : 12.0022 | Class Loss : 0.21726 Epoch : 16 | Iteration : 355 | Learning Rate : 1.5882e-05 | Total Loss : 13.1038 | Box Loss : 0.32031 | Object Loss : 12.563 | Class Loss : 0.2205 Epoch : 16 | Iteration : 356 | Learning Rate : 1.6062e-05 | Total Loss : 15.1351 | Box Loss : 1.3416 | Object Loss : 13.4434 | Class Loss : 0.35006 Epoch : 16 | Iteration : 357 | Learning Rate : 1.6243e-05 | Total Loss : 13.5998 | Box Loss : 0.86842 | Object Loss : 12.5723 | Class Loss : 0.15913 Epoch : 16 | Iteration : 358 | Learning Rate : 1.6426e-05 | Total Loss : 17.9834 | Box Loss : 2.2705 | Object Loss : 15.0911 | Class Loss : 0.62189 Epoch : 16 | Iteration : 359 | Learning Rate : 1.661e-05 | Total Loss : 13.2651 | Box Loss : 0.77707 | Object Loss : 12.1661 | Class Loss : 0.32198 Epoch : 16 | Iteration : 360 | Learning Rate : 1.6796e-05 | Total Loss : 12.363 | Box Loss : 0.56516 | Object Loss : 11.603 | Class Loss : 0.1949 Epoch : 16 | Iteration : 361 | Learning Rate : 1.6984e-05 | Total Loss : 16.1314 | Box Loss : 1.521 | Object Loss : 14.0555 | Class Loss : 0.55489 Epoch : 16 | Iteration : 362 | Learning Rate : 1.7173e-05 | Total Loss : 12.5865 | Box Loss : 0.60568 | Object Loss : 11.7713 | Class Loss : 0.20958 Epoch : 16 | Iteration : 363 | Learning Rate : 1.7363e-05 | Total Loss : 15.2939 | Box Loss : 0.98848 | Object Loss : 13.8377 | Class Loss : 0.46774 Epoch : 16 | Iteration : 364 | Learning Rate : 1.7555e-05 | Total Loss : 14.0186 | Box Loss : 1.3655 | Object Loss : 12.2908 | Class Loss : 0.3623 Epoch : 16 | Iteration : 365 | Learning Rate : 1.7749e-05 | Total Loss : 11.411 | Box Loss : 0.53581 | Object Loss : 10.6625 | Class Loss : 0.21268 Epoch : 16 | Iteration : 366 | Learning Rate : 1.7944e-05 | Total Loss : 16.9061 | Box Loss : 2.0613 | Object Loss : 14.1356 | Class Loss : 0.70913 Epoch : 16 | Iteration : 367 | Learning Rate : 1.8141e-05 | Total Loss : 12.6763 | Box Loss : 0.65758 | Object Loss : 11.7863 | Class Loss : 0.23245 Epoch : 16 | Iteration : 368 | Learning Rate : 1.834e-05 | Total Loss : 10.0711 | Box Loss : 0.1887 | Object Loss : 9.6617 | Class Loss : 0.22069 Epoch : 17 | Iteration : 369 | Learning Rate : 1.854e-05 | Total Loss : 12.3867 | Box Loss : 0.68877 | Object Loss : 11.4522 | Class Loss : 0.24571 Epoch : 17 | Iteration : 370 | Learning Rate : 1.8742e-05 | Total Loss : 15.6693 | Box Loss : 1.4483 | Object Loss : 13.7836 | Class Loss : 0.43749 Epoch : 17 | Iteration : 371 | Learning Rate : 1.8945e-05 | Total Loss : 11.2525 | Box Loss : 0.38393 | Object Loss : 10.5911 | Class Loss : 0.27744 Epoch : 17 | Iteration : 372 | Learning Rate : 1.915e-05 | Total Loss : 12.624 | Box Loss : 1.0968 | Object Loss : 11.2567 | Class Loss : 0.2705 Epoch : 17 | Iteration : 373 | Learning Rate : 1.9357e-05 | Total Loss : 14.1601 | Box Loss : 1.9424 | Object Loss : 11.6739 | Class Loss : 0.54376 Epoch : 17 | Iteration : 374 | Learning Rate : 1.9565e-05 | Total Loss : 13.8942 | Box Loss : 1.4335 | Object Loss : 12.0368 | Class Loss : 0.42392 Epoch : 17 | Iteration : 375 | Learning Rate : 1.9775e-05 | Total Loss : 11.7365 | Box Loss : 0.51757 | Object Loss : 10.9588 | Class Loss : 0.2601 Epoch : 17 | Iteration : 376 | Learning Rate : 1.9987e-05 | Total Loss : 13.3418 | Box Loss : 1.1792 | Object Loss : 11.7613 | Class Loss : 0.40132 Epoch : 17 | Iteration : 377 | Learning Rate : 2.0201e-05 | Total Loss : 12.5316 | Box Loss : 0.5521 | Object Loss : 11.662 | Class Loss : 0.31745 Epoch : 17 | Iteration : 378 | Learning Rate : 2.0416e-05 | Total Loss : 11.6554 | Box Loss : 0.71192 | Object Loss : 10.7293 | Class Loss : 0.21421 Epoch : 17 | Iteration : 379 | Learning Rate : 2.0633e-05 | Total Loss : 10.5197 | Box Loss : 0.45873 | Object Loss : 9.8577 | Class Loss : 0.20335 Epoch : 17 | Iteration : 380 | Learning Rate : 2.0851e-05 | Total Loss : 10.8727 | Box Loss : 0.6144 | Object Loss : 10.0022 | Class Loss : 0.25605 Epoch : 17 | Iteration : 381 | Learning Rate : 2.1072e-05 | Total Loss : 12.827 | Box Loss : 1.5994 | Object Loss : 10.7265 | Class Loss : 0.50119 Epoch : 17 | Iteration : 382 | Learning Rate : 2.1294e-05 | Total Loss : 13.5798 | Box Loss : 1.0056 | Object Loss : 12.0783 | Class Loss : 0.49589 Epoch : 17 | Iteration : 383 | Learning Rate : 2.1518e-05 | Total Loss : 10.2467 | Box Loss : 0.38574 | Object Loss : 9.653 | Class Loss : 0.20797 Epoch : 17 | Iteration : 384 | Learning Rate : 2.1743e-05 | Total Loss : 9.5454 | Box Loss : 0.31727 | Object Loss : 9.0364 | Class Loss : 0.19168 Epoch : 17 | Iteration : 385 | Learning Rate : 2.1971e-05 | Total Loss : 10.7994 | Box Loss : 1.0524 | Object Loss : 9.5408 | Class Loss : 0.20626 Epoch : 17 | Iteration : 386 | Learning Rate : 2.22e-05 | Total Loss : 13.8463 | Box Loss : 1.1893 | Object Loss : 12.236 | Class Loss : 0.42102 Epoch : 17 | Iteration : 387 | Learning Rate : 2.2431e-05 | Total Loss : 9.5131 | Box Loss : 0.33435 | Object Loss : 8.9877 | Class Loss : 0.19104 Epoch : 17 | Iteration : 388 | Learning Rate : 2.2663e-05 | Total Loss : 11.7341 | Box Loss : 0.82945 | Object Loss : 10.6175 | Class Loss : 0.28709 Epoch : 17 | Iteration : 389 | Learning Rate : 2.2898e-05 | Total Loss : 12.5049 | Box Loss : 1.1493 | Object Loss : 10.9918 | Class Loss : 0.3639 Epoch : 17 | Iteration : 390 | Learning Rate : 2.3134e-05 | Total Loss : 10.0721 | Box Loss : 0.78613 | Object Loss : 9.0417 | Class Loss : 0.24434 Epoch : 17 | Iteration : 391 | Learning Rate : 2.3373e-05 | Total Loss : 12.3075 | Box Loss : 1.3411 | Object Loss : 10.7143 | Class Loss : 0.25203 Epoch : 18 | Iteration : 392 | Learning Rate : 2.3613e-05 | Total Loss : 9.7277 | Box Loss : 0.45647 | Object Loss : 8.966 | Class Loss : 0.30527 Epoch : 18 | Iteration : 393 | Learning Rate : 2.3854e-05 | Total Loss : 13.1086 | Box Loss : 1.666 | Object Loss : 11.1439 | Class Loss : 0.2987 Epoch : 18 | Iteration : 394 | Learning Rate : 2.4098e-05 | Total Loss : 12.9978 | Box Loss : 0.88292 | Object Loss : 11.6079 | Class Loss : 0.50705 Epoch : 18 | Iteration : 395 | Learning Rate : 2.4344e-05 | Total Loss : 10.7919 | Box Loss : 0.53646 | Object Loss : 9.9745 | Class Loss : 0.28095 Epoch : 18 | Iteration : 396 | Learning Rate : 2.4591e-05 | Total Loss : 9.7264 | Box Loss : 0.7848 | Object Loss : 8.6938 | Class Loss : 0.24779 Epoch : 18 | Iteration : 397 | Learning Rate : 2.4841e-05 | Total Loss : 10.4778 | Box Loss : 1.0495 | Object Loss : 9.2081 | Class Loss : 0.22026 Epoch : 18 | Iteration : 398 | Learning Rate : 2.5092e-05 | Total Loss : 9.169 | Box Loss : 0.57491 | Object Loss : 8.3962 | Class Loss : 0.1979 Epoch : 18 | Iteration : 399 | Learning Rate : 2.5345e-05 | Total Loss : 11.1855 | Box Loss : 1.0002 | Object Loss : 9.9185 | Class Loss : 0.26684 Epoch : 18 | Iteration : 400 | Learning Rate : 2.56e-05 | Total Loss : 10.7894 | Box Loss : 1.1357 | Object Loss : 9.1997 | Class Loss : 0.45402 Epoch : 18 | Iteration : 401 | Learning Rate : 2.5857e-05 | Total Loss : 9.2411 | Box Loss : 0.46813 | Object Loss : 8.5093 | Class Loss : 0.2637 Epoch : 18 | Iteration : 402 | Learning Rate : 2.6116e-05 | Total Loss : 10.2135 | Box Loss : 0.60753 | Object Loss : 9.2861 | Class Loss : 0.31993 Epoch : 18 | Iteration : 403 | Learning Rate : 2.6377e-05 | Total Loss : 11.366 | Box Loss : 0.78865 | Object Loss : 10.2008 | Class Loss : 0.37651 Epoch : 18 | Iteration : 404 | Learning Rate : 2.6639e-05 | Total Loss : 8.2499 | Box Loss : 0.39101 | Object Loss : 7.6322 | Class Loss : 0.22674 Epoch : 18 | Iteration : 405 | Learning ...
Система компьютерного зрения Toolbox™ обеспечивает функции оценки детектора объектов, чтобы измерить общие метрики, такие как средняя точность (evaluateDetectionPrecision
) и средние логарифмические коэффициенты пропуска (evaluateDetectionMissRate
). В этом примере используется средняя метрика точности. Средняя точность обеспечивает одно число, которое включает в себя способность детектора делать правильные классификации (точность) и способность детектора находить все релевантные объекты (отзыв).
results = detect(yolov3Detector,testData,'MiniBatchSize',8); % Evaluate the object detector using Average Precision metric. [ap,recall,precision] = evaluateDetectionPrecision(results,testData);
Кривая точности-отзыва (PR) показывает, насколько точен детектор на меняющихся уровнях отзыва. В идеале точность равна 1 на всех уровнях отзыва.
% Plot precision-recall curve. figure plot(recall,precision) xlabel('Recall') ylabel('Precision') grid on title(sprintf('Average Precision = %.2f', ap))
Используйте детектор для обнаружения объектов.
% Read the datastore. data = read(testData); % Get the image. I = data{1}; [bboxes,scores,labels] = detect(yolov3Detector,I); % Display the detections on image. I = insertObjectAnnotation(I,'rectangle',bboxes,scores); figure imshow(I)
Функция modelGradients
принимает в качестве входов yolov3ObjectDetector
объект, мини-пакет входных данных XTrain
с соответствующими основными блоками истинности YTrain,
заданный порог штрафа в качестве входных параметров и возвращает градиенты потерь относительно настраиваемых параметров в yolov3ObjectDetector
, соответствующую информацию о мини-пакетных потерях и состоянии текущей партии.
Функция градиентов модели вычисляет общие потери и градиенты путем выполнения этих операций.
Сгенерируйте предсказания из входного пакета изображений с помощью forward
способ.
Собирайте предсказания на центральном процессоре для постобработки.
Преобразуйте предсказания из координат камеры сетки YOLO v3 в координаты ограничивающего прямоугольника, чтобы легко сравнить с достоверными данными при помощи anchorBoxGenerator
метод yolov3ObjectDetector
.
Сгенерируйте цели для расчета потерь с помощью преобразованных предсказаний и достоверных данных. Эти цели генерируются для положений ограничивающего прямоугольника (x, y, ширина, высота), доверия объекта и вероятностей класса. Смотрите вспомогательную функцию generateTargets
.
Вычисляет среднюю квадратичную невязку предсказанных координат ограничивающего прямоугольника с целевыми прямоугольниками. Смотрите вспомогательную функцию bboxOffsetLoss
.
Определяет двоичную перекрестную энтропию предсказанной оценки достоверности объекта с оценкой достоверности целевого объекта. Смотрите вспомогательную функцию objectnessLoss
.
Определяет двоичную перекрестную энтропию предсказанного класса объекта с целью. Смотрите вспомогательную функцию classConfidenceLoss
.
Вычисляет общие потери как сумму всех потерь.
Вычисляет градиенты обучаемых относительно общей потери.
function [gradients, state, info] = modelGradients(detector, XTrain, YTrain, penaltyThreshold) inputImageSize = size(XTrain,1:2); % Gather the ground truths in the CPU for post processing YTrain = gather(extractdata(YTrain)); % Extract the predictions from the detector. [gatheredPredictions, YPredCell, state] = forward(detector, XTrain); % Generate target for predictions from the ground truth data. [boxTarget, objectnessTarget, classTarget, objectMaskTarget, boxErrorScale] = generateTargets(gatheredPredictions,... YTrain, inputImageSize, detector.AnchorBoxes, penaltyThreshold); % Compute the loss. boxLoss = bboxOffsetLoss(YPredCell(:,[2 3 7 8]),boxTarget,objectMaskTarget,boxErrorScale); objLoss = objectnessLoss(YPredCell(:,1),objectnessTarget,objectMaskTarget); clsLoss = classConfidenceLoss(YPredCell(:,6),classTarget,objectMaskTarget); totalLoss = boxLoss + objLoss + clsLoss; info.boxLoss = boxLoss; info.objLoss = objLoss; info.clsLoss = clsLoss; info.totalLoss = totalLoss; % Compute gradients of learnables with regard to loss. gradients = dlgradient(totalLoss, detector.Learnables); end function boxLoss = bboxOffsetLoss(boxPredCell, boxDeltaTarget, boxMaskTarget, boxErrorScaleTarget) % Mean squared error for bounding box position. lossX = sum(cellfun(@(a,b,c,d) mse(a.*c.*d,b.*c.*d),boxPredCell(:,1),boxDeltaTarget(:,1),boxMaskTarget(:,1),boxErrorScaleTarget)); lossY = sum(cellfun(@(a,b,c,d) mse(a.*c.*d,b.*c.*d),boxPredCell(:,2),boxDeltaTarget(:,2),boxMaskTarget(:,1),boxErrorScaleTarget)); lossW = sum(cellfun(@(a,b,c,d) mse(a.*c.*d,b.*c.*d),boxPredCell(:,3),boxDeltaTarget(:,3),boxMaskTarget(:,1),boxErrorScaleTarget)); lossH = sum(cellfun(@(a,b,c,d) mse(a.*c.*d,b.*c.*d),boxPredCell(:,4),boxDeltaTarget(:,4),boxMaskTarget(:,1),boxErrorScaleTarget)); boxLoss = lossX+lossY+lossW+lossH; end function objLoss = objectnessLoss(objectnessPredCell, objectnessDeltaTarget, boxMaskTarget) % Binary cross-entropy loss for objectness score. objLoss = sum(cellfun(@(a,b,c) crossentropy(a.*c,b.*c,'TargetCategories','independent'),objectnessPredCell,objectnessDeltaTarget,boxMaskTarget(:,2))); end function clsLoss = classConfidenceLoss(classPredCell, classTarget, boxMaskTarget) % Binary cross-entropy loss for class confidence score. clsLoss = sum(cellfun(@(a,b,c) crossentropy(a.*c,b.*c,'TargetCategories','independent'),classPredCell,classTarget,boxMaskTarget(:,3))); end
function data = augmentData(A) % Apply random horizontal flipping, and random X/Y scaling. Boxes that get % scaled outside the bounds are clipped if the overlap is above 0.25. Also, % jitter image color. data = cell(size(A)); for ii = 1:size(A,1) I = A{ii,1}; bboxes = A{ii,2}; labels = A{ii,3}; sz = size(I); if numel(sz) == 3 && sz(3) == 3 I = jitterColorHSV(I,... 'Contrast',0.0,... 'Hue',0.1,... 'Saturation',0.2,... 'Brightness',0.2); end % Randomly flip image. tform = randomAffine2d('XReflection',true,'Scale',[1 1.1]); rout = affineOutputView(sz,tform,'BoundsStyle','centerOutput'); I = imwarp(I,tform,'OutputView',rout); % Apply same transform to boxes. [bboxes,indices] = bboxwarp(bboxes,tform,rout,'OverlapThreshold',0.25); labels = labels(indices); % Return original data only when all boxes are removed by warping. if isempty(indices) data(ii,:) = A(ii,:); else data(ii,:) = {I, bboxes, labels}; end end end function data = preprocessData(data, targetSize) % Resize the images and scale the pixels to between 0 and 1. Also scale the % corresponding bounding boxes. for ii = 1:size(data,1) I = data{ii,1}; imgSize = size(I); % Convert an input image with single channel to 3 channels. if numel(imgSize) < 3 I = repmat(I,1,1,3); end bboxes = data{ii,2}; I = im2single(imresize(I,targetSize(1:2))); scale = targetSize(1:2)./imgSize(1:2); bboxes = bboxresize(bboxes,scale); data(ii, 1:2) = {I, bboxes}; end end function [XTrain, YTrain] = createBatchData(data, groundTruthBoxes, groundTruthClasses, classNames) % Returns images combined along the batch dimension in XTrain and % normalized bounding boxes concatenated with classIDs in YTrain % Concatenate images along the batch dimension. XTrain = cat(4, data{:,1}); % Get class IDs from the class names. classNames = repmat({categorical(classNames')}, size(groundTruthClasses)); [~, classIndices] = cellfun(@(a,b)ismember(a,b), groundTruthClasses, classNames, 'UniformOutput', false); % Append the label indexes and training image size to scaled bounding boxes % and create a single cell array of responses. combinedResponses = cellfun(@(bbox, classid)[bbox, classid], groundTruthBoxes, classIndices, 'UniformOutput', false); len = max( cellfun(@(x)size(x,1), combinedResponses ) ); paddedBBoxes = cellfun( @(v) padarray(v,[len-size(v,1),0],0,'post'), combinedResponses, 'UniformOutput',false); YTrain = cat(4, paddedBBoxes{:,1}); end
function currentLR = piecewiseLearningRateWithWarmup(iteration, epoch, learningRate, warmupPeriod, numEpochs) % The piecewiseLearningRateWithWarmup function computes the current % learning rate based on the iteration number. persistent warmUpEpoch; if iteration <= warmupPeriod % Increase the learning rate for number of iterations in warmup period. currentLR = learningRate * ((iteration/warmupPeriod)^4); warmUpEpoch = epoch; elseif iteration >= warmupPeriod && epoch < warmUpEpoch+floor(0.6*(numEpochs-warmUpEpoch)) % After warm up period, keep the learning rate constant if the remaining number of epochs is less than 60 percent. currentLR = learningRate; elseif epoch >= warmUpEpoch + floor(0.6*(numEpochs-warmUpEpoch)) && epoch < warmUpEpoch+floor(0.9*(numEpochs-warmUpEpoch)) % If the remaining number of epochs is more than 60 percent but less % than 90 percent multiply the learning rate by 0.1. currentLR = learningRate*0.1; else % If remaining epochs are more than 90 percent multiply the learning % rate by 0.01. currentLR = learningRate*0.01; end end
function [lossPlotter, learningRatePlotter] = configureTrainingProgressPlotter(f) % Create the subplots to display the loss and learning rate. figure(f); clf subplot(2,1,1); ylabel('Learning Rate'); xlabel('Iteration'); learningRatePlotter = animatedline; subplot(2,1,2); ylabel('Total Loss'); xlabel('Iteration'); lossPlotter = animatedline; end function displayLossInfo(epoch, iteration, currentLR, lossInfo) % Display loss information for each iteration. disp("Epoch : " + epoch + " | Iteration : " + iteration + " | Learning Rate : " + currentLR + ... " | Total Loss : " + double(gather(extractdata(lossInfo.totalLoss))) + ... " | Box Loss : " + double(gather(extractdata(lossInfo.boxLoss))) + ... " | Object Loss : " + double(gather(extractdata(lossInfo.objLoss))) + ... " | Class Loss : " + double(gather(extractdata(lossInfo.clsLoss)))); end function updatePlots(lossPlotter, learningRatePlotter, iteration, currentLR, totalLoss) % Update loss and learning rate plots. addpoints(lossPlotter, iteration, double(extractdata(gather(totalLoss)))); addpoints(learningRatePlotter, iteration, currentLR); drawnow end function detector = downloadPretrainedYOLOv3Detector() % Download a pretrained yolov3 detector. if ~exist('yolov3SqueezeNetVehicleExample_21aSPKG.mat', 'file') if ~exist('yolov3SqueezeNetVehicleExample_21aSPKG.zip', 'file') disp('Downloading pretrained detector...'); pretrainedURL = 'https://ssd.mathworks.com/supportfiles/vision/data/yolov3SqueezeNetVehicleExample_21aSPKG.zip'; websave('yolov3SqueezeNetVehicleExample_21aSPKG.zip', pretrainedURL); end unzip('yolov3SqueezeNetVehicleExample_21aSPKG.zip'); end pretrained = load("yolov3SqueezeNetVehicleExample_21aSPKG.mat"); detector = pretrained.detector; end
[1] Редмон, Джозеф и Али Фархади. «YOLOv3: постепенное улучшение». Препринт, представленный 8 апреля 2018 года. https://arxiv.org/abs/1804.02767.
analyzeNetwork
| combine
| dlfeval
| dlupdate
| read
| sgdmupdate
| transform
| estimateAnchorBoxes
(Computer Vision Toolbox) | evaluateDetectionPrecision
(Computer Vision Toolbox)dlarray
| dlnetwork
| imageDatastore
| boxLabelDatastore
(Computer Vision Toolbox)