How to train the predicting boxes in a YOLO network?
This is a good question and recaps the thinking of how YOLO works.
So first of all you say your forward path gives you a tensor of
[1, num_bounding_boxes * final_layer_grid_width * final_layer_grid_height, 15].

For simplicity let us reshape this to [grid_width, grid_height, num_boxes, x_center, y_center, bbox_width, bbox_height, object_confidence_score, class1, ..., class10], this means for each Gridcell and each Boundingboxprior you have one value for x_center, y_center, bbox_width, bbox_height.
x_center and y_center predicts a value which is sigmoid activated the offset from gridcell border to the actual midpoint of the bounding box. So b_x = sigmoid(x_center)+ c_x, where c_x is x coordinate of grid Cell, for b_y = sigmoid(y_center)+ c_y, accordingly.
bbox_width and bbox_height are values which are shifts of the BBoxprior in log space so BB_width = BB_prior*e^(bbox_width), for BB_height respectively.
You can think about it this way: If an object is in a grid cell, the object_confidence_score will tell you. So you just have to adjust the Boundingbox. First step is to calculate the bounding box with highest IOU, next step is to adjust it's center with x_center, y_center and the height/widht with bbox_width, bbox_height.
Check the Yolo-V3 Paper for the used formulas and especially figure 2 depicts the parameters you asked for.