PyTorch-YOLOv3 Generating Training and Validation Curves
Hello again stackoverflow!  I greatly appreciate this community and the helpful feedback.

I have some other questions that I hope someone can help me with.  I am working with an implementation of PyTorch-YOLOv3 from https://github.com/eriklindernoren/PyTorch-YOLOv3

I have been able to train the model, but now I would like to generate training/validation curves. During training, I get back metrics on each epoch that look like this:

Epoch 1/3001 batch 0/8
Epoch 1/3001 batch 7/8

I'm trying to generate a graph of a metric (loss, recall, precision, accuacy, mAP) versus epoch by logging these metrics to an external .csv file and plotting those values.  

Question 1: Does anyone with experience with this YOLOv3 know where the relevant information is?  I know the AP and mAP for each epoch are at the bottom of the second image (epoch 1/3001 batch 7/8).  I'm not sure where to look for the relevant loss, recall, and precision metrics.

Question 2: Does anyone know the difference between the YOLO layer 0 and layer 1.  Would plotting the metrics from each of these layers yield the training and validation curves, respectively?

Question 3: As of two to three months ago, I started receiving the warning the following warning instead of getting the epoch outputs.

/pytorch/aten/src/ATen/native/IndexingUtils.h:20: UserWarning: indexing with dtype torch.uint8 is now deprecated, please use a dtype torch.bool instead.

It doesn't affect the training, but I would like to update the code so that this warning disappears.  Any suggestions?

Thank you all in advance.

The solution is mentioned in the issues. The exact link is: https://github.com/eriklindernoren/PyTorch-YOLOv3/issues/283

Replace in utils:269

ByteTensor = torch.cuda.ByteTensor if pred_boxes.is_cuda else torch.ByteTensor

With:
BoolTensor = torch.cuda.BoolTensor if pred_boxes.is_cuda else torch.BoolTensor

And it usage in lines 278, 279
obj_mask = BoolTensor(nB, nA, nG, nG).fill_(0)
noobj_mask = BoolTensor(nB, nA, nG, nG).fill_(1)
