Fixed antialiasing=1 for [convolutional] layer

pull/4269/head
AlexeyAB 6 years ago
parent f18338de26
commit 29c71a190a
  1. 4
      src/convolutional_kernels.cu
  2. 4
      src/maxpool_layer_kernels.cu
  3. 3
      src/yolo_layer.c

@ -628,11 +628,13 @@ void backward_convolutional_layer_gpu(convolutional_layer l, network_state state
s.train = state.train;
s.workspace = state.workspace;
s.net = state.net;
s.delta = l.delta_gpu;
s.delta = l.delta_gpu; // s.delta will be returned to l.delta_gpu
s.input = l.input_antialiasing_gpu;
//if (!state.train) s.index = state.index; // don't use TC for training (especially without cuda_convert_f32_to_f16() )
simple_copy_ongpu(l.input_layer->outputs*l.input_layer->batch, l.delta_gpu, l.input_layer->delta_gpu);
backward_convolutional_layer_gpu(*(l.input_layer), s);
simple_copy_ongpu(l.outputs*l.batch, l.input_antialiasing_gpu, l.output_gpu);
}
if(state.net.try_fix_nan) constrain_ongpu(l.outputs*l.batch, 1, l.delta_gpu, 1);

@ -199,11 +199,13 @@ extern "C" void backward_maxpool_layer_gpu(maxpool_layer layer, network_state st
s.train = state.train;
s.workspace = state.workspace;
s.net = state.net;
s.delta = layer.delta_gpu;
s.delta = layer.delta_gpu; // s.delta will be returned to l.delta_gpu
s.input = layer.input_antialiasing_gpu;
//if (!state.train) s.index = state.index; // don't use TC for training (especially without cuda_convert_f32_to_f16() )
simple_copy_ongpu(layer.input_layer->outputs*layer.input_layer->batch, layer.delta_gpu, layer.input_layer->delta_gpu);
backward_convolutional_layer_gpu(*(layer.input_layer), s);
//simple_copy_ongpu(layer.outputs*layer.batch, layer.input_antialiasing_gpu, layer.output_gpu);
}
if (layer.maxpool_depth) {

@ -423,7 +423,8 @@ void forward_yolo_layer(const layer l, network_state state)
}
*(l.cost) = avg_iou_loss + classification_loss;
}
printf("v3 (%s loss, Normalizer: (iou: %f, cls: %f) Region %d Avg (IOU: %f, GIOU: %f), Class: %f, Obj: %f, No Obj: %f, .5R: %f, .75R: %f, count: %d\n", (l.iou_loss == MSE ? "mse" : (l.iou_loss == GIOU ? "giou" : "iou")), l.iou_normalizer, l.cls_normalizer, state.index, tot_iou / count, tot_giou / count, avg_cat / class_count, avg_obj / count, avg_anyobj / (l.w*l.h*l.n*l.batch), recall / count, recall75 / count, count);
printf("v3 (%s loss, Normalizer: (iou: %f, cls: %f) Region %d Avg (IOU: %f, GIOU: %f), Class: %f, Obj: %f, No Obj: %f, .5R: %f, .75R: %f, count: %d\n",
(l.iou_loss == MSE ? "mse" : (l.iou_loss == GIOU ? "giou" : "iou")), l.iou_normalizer, l.cls_normalizer, state.index, tot_iou / count, tot_giou / count, avg_cat / class_count, avg_obj / count, avg_anyobj / (l.w*l.h*l.n*l.batch), recall / count, recall75 / count, count);
}
void backward_yolo_layer(const layer l, network_state state)

Loading…
Cancel
Save