-
Notifications
You must be signed in to change notification settings - Fork 7.2k
Commit af225a8
Simplify and organize test_ops. (#1551)
* Simlify and organize test_ops.
We perform the following:
- Simplify the functions slow_roi_pooling, slow_ps_roi_pooling, slow_ps_roi_align and bilinear_interpolate (including finding and removing a semi-bug in slow_ps_roi_pooling, which used bin_w instead of bin_h);
- Wrote a slow_roi_align function, that was missing;
- Create a base class testing all combinations of forward/backward, cpu/cuda, contiguous/non-contiguous;
- Organize all testing inside the base class with _test_forward and _test_backward (which can be easily overriden if a parciular op needs something different); an Op class then only needs to implement fn, get_script_fn, and expected_fn.
A few points:
- We are using the same inputs for all tests, and not trying all possible inputs in the domain of a given operation. One improvement would be to test more diverse inputs, and to personalize the inputs for some ops (e.g. different inputs for pooling ops and align ops).
- Running all tests is quite slow (~1 min only for CPU tests), so that can possibly be improved.
* Reduce input size used in gradcheck.
gradcheck can be quite costly, and it was causing OOM errors and making
the tests slow. By reducing the size of the input, the test speed is
down to 3 seconds for the CPU tests.
Other points:
- We remove an unused namedtuple;
- We inherit from object for better Python 2 compatibility;
- We remove a hardcoded pool_size from the TorchScript functions, and
add it as a parameter instead.
* Replace Tensor by torch.Tensor in type annotations.
This should fix lint errors.1 parent 4897402 commit af225a8Copy full SHA for af225a8
File tree
Expand file treeCollapse file tree
1 file changed
+235
-1097
lines changedOpen diff view settings
Filter options
- test
Expand file treeCollapse file tree
1 file changed
+235
-1097
lines changedOpen diff view settings
0 commit comments