Lines Matching refs:unpooling_op
37 xnn_operator_t unpooling_op = NULL; in xnn_create_unpooling2d_nhwc_x32() local
89 unpooling_op = xnn_allocate_zero_simd_memory(sizeof(struct xnn_operator)); in xnn_create_unpooling2d_nhwc_x32()
90 if (unpooling_op == NULL) { in xnn_create_unpooling2d_nhwc_x32()
97 unpooling_op->padding_top = input_padding_top; in xnn_create_unpooling2d_nhwc_x32()
98 unpooling_op->padding_right = input_padding_right; in xnn_create_unpooling2d_nhwc_x32()
99 unpooling_op->padding_bottom = input_padding_bottom; in xnn_create_unpooling2d_nhwc_x32()
100 unpooling_op->padding_left = input_padding_left; in xnn_create_unpooling2d_nhwc_x32()
102 unpooling_op->kernel_height = pooling_height; in xnn_create_unpooling2d_nhwc_x32()
103 unpooling_op->kernel_width = pooling_width; in xnn_create_unpooling2d_nhwc_x32()
104 unpooling_op->channels = channels; in xnn_create_unpooling2d_nhwc_x32()
105 unpooling_op->input_pixel_stride = input_pixel_stride; in xnn_create_unpooling2d_nhwc_x32()
106 unpooling_op->output_pixel_stride = output_pixel_stride; in xnn_create_unpooling2d_nhwc_x32()
108 unpooling_op->type = xnn_operator_type_unpooling_nhwc_x32; in xnn_create_unpooling2d_nhwc_x32()
109 unpooling_op->flags = flags; in xnn_create_unpooling2d_nhwc_x32()
111 unpooling_op->state = xnn_run_state_invalid; in xnn_create_unpooling2d_nhwc_x32()
113 *unpooling_op_out = unpooling_op; in xnn_create_unpooling2d_nhwc_x32()
117 xnn_delete_operator(unpooling_op); in xnn_create_unpooling2d_nhwc_x32()
122 xnn_operator_t unpooling_op, in xnn_setup_unpooling2d_nhwc_x32() argument
131 if (unpooling_op->type != xnn_operator_type_unpooling_nhwc_x32) { in xnn_setup_unpooling2d_nhwc_x32()
134 xnn_operator_type_to_string(unpooling_op->type)); in xnn_setup_unpooling2d_nhwc_x32()
137 unpooling_op->state = xnn_run_state_invalid; in xnn_setup_unpooling2d_nhwc_x32()
153 unpooling_op->state = xnn_run_state_skip; in xnn_setup_unpooling2d_nhwc_x32()
157 unpooling_op->batch_size = batch_size; in xnn_setup_unpooling2d_nhwc_x32()
158 unpooling_op->input_height = input_height; in xnn_setup_unpooling2d_nhwc_x32()
159 unpooling_op->input_width = input_width; in xnn_setup_unpooling2d_nhwc_x32()
160 unpooling_op->input = input; in xnn_setup_unpooling2d_nhwc_x32()
162 unpooling_op->output_height = xnn_compute_unpooling_output_dimension( in xnn_setup_unpooling2d_nhwc_x32()
163 input_height, unpooling_op->padding_top + unpooling_op->padding_bottom, in xnn_setup_unpooling2d_nhwc_x32()
164 unpooling_op->kernel_height); in xnn_setup_unpooling2d_nhwc_x32()
165 unpooling_op->output_width = xnn_compute_unpooling_output_dimension( in xnn_setup_unpooling2d_nhwc_x32()
166 input_width, unpooling_op->padding_left + unpooling_op->padding_right, in xnn_setup_unpooling2d_nhwc_x32()
167 unpooling_op->kernel_width); in xnn_setup_unpooling2d_nhwc_x32()
168 unpooling_op->output = output; in xnn_setup_unpooling2d_nhwc_x32()
171 if (output == unpooling_op->last_output && in xnn_setup_unpooling2d_nhwc_x32()
172 input_height == unpooling_op->last_input_height && in xnn_setup_unpooling2d_nhwc_x32()
173 input_width == unpooling_op->last_input_width) in xnn_setup_unpooling2d_nhwc_x32()
175 valid_batch_size = unpooling_op->valid_batch_size; in xnn_setup_unpooling2d_nhwc_x32()
177 unpooling_op->compute.range[0] = batch_size * input_height; in xnn_setup_unpooling2d_nhwc_x32()
178 unpooling_op->state = xnn_run_state_ready; in xnn_setup_unpooling2d_nhwc_x32()
183 const size_t pooling_height = unpooling_op->kernel_height; in xnn_setup_unpooling2d_nhwc_x32()
184 const size_t pooling_width = unpooling_op->kernel_width; in xnn_setup_unpooling2d_nhwc_x32()
188 …const void** indirection_buffer = (const void**) xnn_reallocate_memory(unpooling_op->indirection_b… in xnn_setup_unpooling2d_nhwc_x32()
195 unpooling_op->indirection_buffer = indirection_buffer; in xnn_setup_unpooling2d_nhwc_x32()
197 xnn_indirection_init_unpool2d(unpooling_op, valid_batch_size, 2 /* log2(sizeof(type32)) */); in xnn_setup_unpooling2d_nhwc_x32()
199 const size_t channels = unpooling_op->channels; in xnn_setup_unpooling2d_nhwc_x32()
200 const size_t input_pixel_stride_in_bytes = unpooling_op->input_pixel_stride * sizeof(float); in xnn_setup_unpooling2d_nhwc_x32()
201 unpooling_op->context.unpooling = (struct unpooling_context) { in xnn_setup_unpooling2d_nhwc_x32()
216 unpooling_op->compute.type = xnn_parallelization_type_2d; in xnn_setup_unpooling2d_nhwc_x32()
217 unpooling_op->compute.task_2d = (pthreadpool_task_2d_t) xnn_compute_unpooling; in xnn_setup_unpooling2d_nhwc_x32()
218 unpooling_op->compute.range[0] = batch_size * input_height; in xnn_setup_unpooling2d_nhwc_x32()
219 unpooling_op->compute.range[1] = input_width; in xnn_setup_unpooling2d_nhwc_x32()
220 unpooling_op->state = xnn_run_state_ready; in xnn_setup_unpooling2d_nhwc_x32()
222 unpooling_op->last_output = output; in xnn_setup_unpooling2d_nhwc_x32()
223 unpooling_op->last_input_height = input_height; in xnn_setup_unpooling2d_nhwc_x32()
224 unpooling_op->last_input_width = input_width; in xnn_setup_unpooling2d_nhwc_x32()
225 unpooling_op->valid_batch_size = max(valid_batch_size, batch_size); in xnn_setup_unpooling2d_nhwc_x32()