* Temporarily reverse the extra padding location in case of
SAME_UPPER vs SAME_LOWER for convTranspose to match with onnxruntime.
* In case of importing asymmetric padding convTranspose, use
symmetric pads by alter the output_shape and pads, and attach a slice
node afterwards to enable cudnn.
* Fix a bug in slice/squeeze attribute axes export.
* ConvTranspose outputShape: now pads values are always exported even
when outputShape is given. The reason is that CNTK and ONNX have
different padding specs.
* Flatten: in CNTK flatten does not affect batch axis, this should be
preserved in ONNX.
* onnx_test_runner.exe will be called on win64 GPU tests to verify if
the output data produced by CNTK in onnx_op_test and
onnx_model_test(cntk_model_test) matches in onnxruntime.
* Issue was that AssignSqrOfDifferenceOf(beta, input, mean, alpha)
assigns mean value to the gaps in input. These values are then reduced
within this function, leading to incorrect results. The fix is to
execute assign and reduce separately, and mask gaps to zero again before reducing.
* Update test baseline affected by this change (err is lowered by <1%).
* Overhaul node name export. Create static class UniqueNodeNameStorage
to manage ONNX node name generation with maintained one-to-one mapping
between CNTK Uid, while preserving the original CNTK node name by best
efforts (#3358).
* Update onnx_op_test to test the preservation of original CNTK node
names in exported/imported models.
* Update onnx_test_helper to support proper linking of test data and
onnx model input/output with unique names.
* Update onnx_test_helper to generate .bat file to run exported models
in further onnxruntime verification.
* Fix Sum import to support arbitrary number of inputs. Sum
implementation in CNTK backend is loop of Plus, which takes care of
potential broadcast issues.
* Compute keyInterior according to the updated algorithm for computing
cell offset key.
* Update unittest of avg_pooling/max_pooling for cases that requires
auto_padding = True. Previous test cases cover only those that do not
need padding.
* ONNX supports similar op ReduceLogSumExp. Conversions are added when
exporting.
* Refactored CNTKToONNXHelper::BroadcastInputsIfNeeded to support more
generalized cases.