public void get_map_error_from_subsampling(float[,] sigma_next_layer) {//W transp*sigma_prev*f_derived(ul) float[,] upsampled_next = ConvFuncs.upsample(sigma_next_layer, outputwidth, outputheight); for (int j = 0; j < outputheight; j++) { for (int i = 0; i < outputwidth; i++) { error[i, j] = upsampled_next[i, j] * ActFuncs.f_act_sigma_deriv(non_activated_stage[i, j]); } } }
public void get_output() { float[,] temp = ConvFuncs.upsample(input, outputwidth, outputheight); for (int j = 0; j < outputheight; j++) { for (int i = 0; i < outputwidth; i++) { non_activated_stage[i, j] = temp[i, j]; output[i, j] = ActFuncs.f_act_linear(non_activated_stage[i, j]); deriv_non_activated_stage[i, j] = ActFuncs.f_act_linear_deriv(non_activated_stage[i, j]); } } }