pytorch/caffe2/python/operator_test
Jongsoo Park 54e8623d26 3D Conv in NHWC layout (#12733)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/12733

Conv in NHWC layout only works for 2D images. This has been a pain point when implementing quantized 3D convolution because we need NHWC layout for best performance (note that NHWC layout in general gives better performance in CPU not just for quantized operators). For example, our quantized ops have a functionality to measure quantized error operator by operator but this needs running a shadow fp32 operator, but this is not easy when there's no 3D conv in NHWC layout is available (currently we're doing layout conversion on the fly for the shadow fp32 operator which is error prone). Some of Caffe2 frameworks like brew generates error when we try to create a 3D conv op in NHWC layout. This was also a blocker for using aibench because aibench is using brew.

i-am-not-moving-c2-to-c10

Reviewed By: houseroad

Differential Revision: D10333829

fbshipit-source-id: 2d203ee1db833cd3f9d39353219e3894b46c4389
2018-11-04 21:50:09 -08:00
..
__init__.py
activation_ops_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
adadelta_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
adagrad_test.py CircleCI: enable all flaky tests (#13356) 2018-10-31 09:34:49 -07:00
adagrad_test_helper.py
adam_test.py Support lr adaption for SparseAdam and RowWiseSparseAdam (#11162) 2018-09-17 10:29:03 -07:00
affine_channel_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
apmeter_test.py
arg_ops_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
assert_test.py
atomic_ops_test.py
basic_rnn_test.py
batch_box_cox_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
batch_bucketize_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
batch_moments_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
batch_sparse_to_dense_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
bbox_transform_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
bisect_percentile_op_test.py
blobs_queue_db_test.py
boolean_mask_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
boolean_unmask_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
box_with_nms_limit_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
cast_op_test.py
ceil_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
channel_backprop_stats_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
channel_shuffle_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
channel_stats_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
checkpoint_test.py
clip_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
clip_tensor_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
collect_and_distribute_fpn_rpn_proposals_op_test.py Enable CircleCI for Linux jobs (#12389) 2018-10-08 17:09:37 -07:00
concat_split_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
conditional_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
conftest.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
conv_test.py 3D Conv in NHWC layout (#12733) 2018-11-04 21:50:09 -08:00
conv_transpose_test.py
copy_ops_test.py
cosine_embedding_criterion_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
counter_ops_test.py
crf_test.py CircleCI: enable all flaky tests (#13356) 2018-10-31 09:34:49 -07:00
cross_entropy_ops_test.py Enable CircleCI for Linux jobs (#12389) 2018-10-08 17:09:37 -07:00
ctc_beam_search_decoder_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
ctc_greedy_decoder_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
cudnn_recurrent_test.py
data_couple_op_test.py No Op Optimizer (#12390) 2018-10-10 18:09:46 -07:00
dataset_ops_test.py
deform_conv_test.py Enable CircleCI for Linux jobs (#12389) 2018-10-08 17:09:37 -07:00
depthwise_3x3_conv_test.py
detectron_keypoints.py
distance_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
dropout_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
duplicate_operands_test.py
elementwise_linear_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
elementwise_logical_ops_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
elementwise_op_broadcast_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
elementwise_ops_test.py Enable CircleCI for Linux jobs (#12389) 2018-10-08 17:09:37 -07:00
emptysample_ops_test.py
enforce_finite_op_test.py
ensure_clipped_test.py
ensure_cpu_output_op_test.py
expand_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
fc_operator_test.py CircleCI: enable all flaky tests (#13356) 2018-10-31 09:34:49 -07:00
feature_maps_ops_test.py
filler_ops_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
find_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
flatten_op_test.py
flexible_top_k_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
floor_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
gather_ops_test.py Remove redundant array-gen loop in gather_ops_test.py (#13338) 2018-10-30 16:20:22 -07:00
gather_ranges_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
given_tensor_byte_string_to_uint8_fill_op_test.py
given_tensor_fill_op_test.py
glu_op_test.py Fix test_glu_old HealthCheck with smarter generation strategy. (#12975) 2018-10-24 13:45:19 -07:00
group_conv_test.py Make CUDNN an alias of MIOPEN for HIP ops (#12278) 2018-10-24 17:07:31 -07:00
group_norm_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
gru_test.py Enable CircleCI for Linux jobs (#12389) 2018-10-08 17:09:37 -07:00
heatmap_max_keypoint_op_test.py
hsm_test.py
hyperbolic_ops_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
im2col_col2im_test.py CircleCI: enable all flaky tests (#13356) 2018-10-31 09:34:49 -07:00
image_input_op_test.py
index_hash_ops_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
index_ops_test.py
instance_norm_test.py Enable CircleCI for Linux jobs (#12389) 2018-10-08 17:09:37 -07:00
integral_image_ops_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
jsd_ops_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
key_split_ops_test.py
lars_test.py
layer_norm_op_test.py CircleCI: enable all flaky tests (#13356) 2018-10-31 09:34:49 -07:00
leaky_relu_test.py
learning_rate_adaption_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
learning_rate_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
length_split_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
lengths_pad_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
lengths_tile_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
lengths_top_k_ops_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
listwise_l2r_operator_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
load_save_test.py Rename cuda_gpu_id to device_id in DeviceOption (#12456) 2018-10-09 15:54:04 -07:00
locally_connected_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
loss_ops_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
lpnorm_op_test.py
map_ops_test.py
margin_ranking_criterion_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
math_ops_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
matmul_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
mean_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
merge_id_lists_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
mkl_conv_op_test.py
mkl_packed_fc_op_test.py
mkl_speed_test.py
mod_op_test.py
moments_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
momentum_sgd_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
mpi_test.py
negate_gradient_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
ngram_ops_test.py
normalize_op_test.py
numpy_tile_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
one_hot_ops_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
onnx_while_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
order_switch_test.py Optimize order_swich_ops on GPU (#11404) 2018-09-12 16:56:15 -07:00
pack_ops_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
pack_rnn_sequence_op_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
pad_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
partition_ops_test.py
percentile_op_test.py
piecewise_linear_transform_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
pooling_test.py Make CUDNN an alias of MIOPEN for HIP ops (#12278) 2018-10-24 17:07:31 -07:00
prepend_dim_test.py
python_op_test.py Remove numba dependency 2018-10-23 17:03:47 -07:00
rand_quantization_op_speed_test.py
rand_quantization_op_test.py Enable CircleCI for Linux jobs (#12389) 2018-10-08 17:09:37 -07:00
rank_loss_operator_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
rebatching_queue_test.py
record_queue_test.py
recurrent_net_executor_test.py Support for zero-length sequences in RNN executor (#13244) 2018-10-29 10:32:42 -07:00
recurrent_network_test.py CircleCI: enable all flaky tests (#13356) 2018-10-31 09:34:49 -07:00
reduce_ops_test.py CircleCI: enable all flaky tests (#13356) 2018-10-31 09:34:49 -07:00
reduction_ops_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
reshape_ops_test.py
resize_op_test.py Support scales as inputs in ResizeNearest (#12720) 2018-10-17 23:08:53 -07:00
rmac_regions_op_test.py
rnn_cell_test.py Rename cuda_gpu_id to device_id in DeviceOption (#12456) 2018-10-09 15:54:04 -07:00
roi_align_rotated_op_test.py
segment_ops_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
selu_op_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
sequence_ops_test.py Enable CircleCI for Linux jobs (#12389) 2018-10-08 17:09:37 -07:00
shape_inference_test.py implement rowwise quantization for fp16 (#12382) 2018-10-12 13:57:55 -07:00
sinusoid_position_encoding_op_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
softmax_ops_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
softplus_op_test.py
sparse_gradient_checker_test.py
sparse_lengths_sum_benchmark.py
sparse_normalize_test.py
sparse_ops_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
sparse_to_dense_mask_op_test.py
spatial_bn_op_test.py Make CUDNN an alias of MIOPEN for HIP ops (#12278) 2018-10-24 17:07:31 -07:00
specialized_segment_ops_test.py
square_root_divide_op_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
stats_ops_test.py
stats_put_ops_test.py Make Stat put ops accept empty tensors safely (#13178) 2018-10-30 13:28:58 -07:00
string_ops_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
text_file_reader_test.py
thresholded_relu_op_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
tile_op_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
top_k_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
transpose_op_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
trigonometric_op_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
unique_ops_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
unique_uniform_fill_op_test.py
upsample_op_test.py caffe2: UpsampleBilinear CUDA implementation (#12843) 2018-10-25 11:10:04 -07:00
utility_ops_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00
video_input_op_test.py
weighted_multi_sample_test.py
weighted_sample_test.py
weighted_sum_test.py Refactor tests part 1 (#11350) 2018-09-18 10:42:10 -07:00
wngrad_test.py Refactor tests part 2 (#11811) 2018-09-19 10:09:28 -07:00