Skip to content

Commit 3b1a5a1

Browse files
ajyufacebook-github-bot
authored andcommitted
Refactor tests part 2 (pytorch#11811)
Summary: Followup to the [first refactor](pytorch#11350). Increase coverage of tests Pull Request resolved: pytorch#11811 Reviewed By: houseroad Differential Revision: D9923074 Pulled By: ajyu fbshipit-source-id: 0f899bb9e9a75bf7ed939e06cc9b028daa7f6bd9
1 parent 5247250 commit 3b1a5a1

File tree

85 files changed

+138
-102
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+138
-102
lines changed

caffe2/python/operator_test/rank_loss_operator_test.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,16 @@
22
from __future__ import division
33
from __future__ import print_function
44
from __future__ import unicode_literals
5+
56
from caffe2.python import core, workspace
67
from hypothesis import given
78
import caffe2.python.hypothesis_test_util as hu
9+
import caffe2.python.serialized_test.serialized_test_util as serial
810
import hypothesis.strategies as st
911
import numpy as np
1012

1113

12-
class TestPairWiseLossOps(hu.HypothesisTestCase):
14+
class TestPairWiseLossOps(serial.SerializedTestCase):
1315
@given(X=hu.arrays(dims=[2, 1],
1416
elements=st.floats(min_value=0.0, max_value=10.0)),
1517
label=hu.arrays(dims=[2, 1],
@@ -98,7 +100,7 @@ def test_pair_wise_loss_gradient(self, X, label, dY, gc, dc):
98100
(up_output_pred[0] - down_output_pred[0]) / delta),
99101
rtol=1e-2, atol=1e-2)
100102

101-
@given(n=st.integers(0, 10), k=st.integers(1, 5), **hu.gcs_cpu_only)
103+
@serial.given(n=st.integers(0, 10), k=st.integers(1, 5), **hu.gcs_cpu_only)
102104
def test_pair_wise_loss_batch(self, n, k, gc, dc):
103105
lengths = np.random.randint(k, size=n).astype(np.int32) + 1
104106
X = np.random.rand(sum(lengths)).astype(np.float32)

caffe2/python/operator_test/recurrent_network_test.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@
77
from caffe2.python.model_helper import ModelHelper
88
from hypothesis import given
99
import caffe2.python.hypothesis_test_util as hu
10+
import caffe2.python.serialized_test.serialized_test_util as serial
1011
import hypothesis.strategies as st
1112
import numpy as np
1213

13-
import unittest
1414
import os
15+
import unittest
1516

16-
class RecurrentNetworkTest(hu.HypothesisTestCase):
17+
class RecurrentNetworkTest(serial.SerializedTestCase):
1718
@unittest.skipIf("IN_CIRCLECI" in os.environ, "FIXME: flaky test in CircleCI")
1819
@given(T=st.integers(1, 4),
1920
n=st.integers(1, 5),
@@ -34,7 +35,7 @@ def test_sum_mul(self, T, n, d):
3435
self.simple_rnn(T, n, d, model, step, input_t, output_t, output_t_prev,
3536
input_blob, initial_input_blob)
3637

37-
@given(T=st.integers(1, 4),
38+
@serial.given(T=st.integers(1, 4),
3839
n=st.integers(1, 5),
3940
d=st.integers(1, 5))
4041
def test_mul(self, T, n, d):

caffe2/python/operator_test/reduce_ops_test.py

+16-13
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@
77
from hypothesis import given
88

99
import caffe2.python.hypothesis_test_util as hu
10+
import caffe2.python.serialized_test.serialized_test_util as serial
1011
import hypothesis.strategies as st
1112
import numpy as np
1213
import itertools as it
1314

1415

15-
class TestReduceOps(hu.HypothesisTestCase):
16+
class TestReduceOps(serial.SerializedTestCase):
1617
def run_reduce_op_test_impl(
1718
self, op_name, X, axes, keepdims, ref_func, gc, dc):
1819
if axes is None:
@@ -54,8 +55,9 @@ def run_reduce_op_test(
5455
self.run_reduce_op_test_impl(
5556
op_name, X, axes, keepdims, ref_func, gc, dc)
5657

57-
@given(X=hu.tensor(max_dim=3, dtype=np.float32), keepdims=st.booleans(),
58-
num_axes=st.integers(1, 3), **hu.gcs)
58+
@serial.given(
59+
X=hu.tensor(max_dim=3, dtype=np.float32), keepdims=st.booleans(),
60+
num_axes=st.integers(1, 3), **hu.gcs)
5961
def test_reduce_min(self, X, keepdims, num_axes, gc, dc):
6062
X_dims = X.shape
6163
X_size = X.size
@@ -65,8 +67,9 @@ def test_reduce_min(self, X, keepdims, num_axes, gc, dc):
6567
self.run_reduce_op_test(
6668
"ReduceMin", X, keepdims, num_axes, np.min, gc, dc)
6769

68-
@given(X=hu.tensor(max_dim=3, dtype=np.float32), keepdims=st.booleans(),
69-
num_axes=st.integers(1, 3), **hu.gcs)
70+
@serial.given(
71+
X=hu.tensor(max_dim=3, dtype=np.float32), keepdims=st.booleans(),
72+
num_axes=st.integers(1, 3), **hu.gcs)
7073
def test_reduce_max(self, X, keepdims, num_axes, gc, dc):
7174
X_dims = X.shape
7275
X_size = X.size
@@ -84,7 +87,7 @@ def test_reduce_sum(self, n, m, k, t, keepdims, num_axes, gc, dc):
8487
self.run_reduce_op_test(
8588
"ReduceSum", X, keepdims, num_axes, np.sum, gc, dc)
8689

87-
@given(X=hu.tensor(dtype=np.float32), keepdims=st.booleans(),
90+
@serial.given(X=hu.tensor(dtype=np.float32), keepdims=st.booleans(),
8891
num_axes=st.integers(1, 4), **hu.gcs)
8992
def test_reduce_mean(self, X, keepdims, num_axes, gc, dc):
9093
self.run_reduce_op_test(
@@ -99,7 +102,7 @@ def test_reduce_l1(self, n, m, k, keepdims, num_axes, gc, dc):
99102
self.run_reduce_op_test(
100103
"ReduceL1", X, keepdims, num_axes, getNorm(1), gc, dc)
101104

102-
@given(n=st.integers(1, 5), m=st.integers(1, 5), k=st.integers(1, 5),
105+
@serial.given(n=st.integers(1, 5), m=st.integers(1, 5), k=st.integers(1, 5),
103106
keepdims=st.booleans(), num_axes=st.integers(1, 3), **hu.gcs_cpu_only)
104107
def test_reduce_l2(self, n, m, k, keepdims, num_axes, gc, dc):
105108
X = np.random.randn(n, m, k).astype(np.float32)
@@ -119,7 +122,7 @@ def norm(X, axis, keepdims):
119122
return norm
120123

121124

122-
class TestReduceFrontReductions(hu.HypothesisTestCase):
125+
class TestReduceFrontReductions(serial.SerializedTestCase):
123126
def grad_variant_input_test(self, grad_op_name, X, ref, num_reduce_dim):
124127
workspace.ResetWorkspace()
125128

@@ -200,7 +203,7 @@ def reduce_op_test(self, op_name, op_ref, in_data, in_names,
200203
self.assertGradientChecks(
201204
device, op, in_data, 0, [0], stepsize=1e-2, threshold=1e-2)
202205

203-
@given(num_reduce_dim=st.integers(0, 4), **hu.gcs)
206+
@serial.given(num_reduce_dim=st.integers(0, 4), **hu.gcs)
204207
def test_reduce_front_sum(self, num_reduce_dim, gc, dc):
205208
X = np.random.rand(7, 4, 3, 5).astype(np.float32)
206209

@@ -265,7 +268,7 @@ def ref_sum(X, lengths):
265268
"ReduceFrontSum", ref_sum, [X, lengths], ["input", "lengths"],
266269
num_reduce_dim, gc)
267270

268-
@given(num_reduce_dim=st.integers(0, 4), **hu.gcs)
271+
@serial.given(num_reduce_dim=st.integers(0, 4), **hu.gcs)
269272
def test_reduce_front_mean(self, num_reduce_dim, gc, dc):
270273
X = np.random.rand(6, 7, 8, 2).astype(np.float32)
271274

@@ -296,7 +299,7 @@ def ref_mean(X, lengths):
296299
"ReduceFrontMean", ref_mean, [X, lengths], ["input", "lengths"],
297300
num_reduce_dim, gc)
298301

299-
@given(num_reduce_dim=st.integers(0, 4), **hu.gcs)
302+
@serial.given(num_reduce_dim=st.integers(0, 4), **hu.gcs)
300303
def test_reduce_front_max(self, num_reduce_dim, gc, dc):
301304
X = np.random.rand(6, 7, 8, 2).astype(np.float32)
302305

@@ -325,7 +328,7 @@ def ref_max(X, lengths):
325328
"ReduceFrontMax", num_reduce_dim, gc, dc, [X, lengths],
326329
["X", "lengths"], ref_max)
327330

328-
@given(num_reduce_dim=st.integers(0, 4), **hu.gcs)
331+
@serial.given(num_reduce_dim=st.integers(0, 4), **hu.gcs)
329332
def test_reduce_back_max(self, num_reduce_dim, gc, dc):
330333
X = np.random.rand(6, 7, 8, 2).astype(np.float32)
331334

@@ -386,7 +389,7 @@ def ref_sum(X, lengths):
386389
"ReduceBackSum", ref_sum, [X, lengths], ["input", "lengths"],
387390
num_reduce_dim, gc)
388391

389-
@given(num_reduce_dim=st.integers(0, 4), **hu.gcs)
392+
@serial.given(num_reduce_dim=st.integers(0, 4), **hu.gcs)
390393
def test_reduce_back_mean(self, num_reduce_dim, dc, gc):
391394
X = np.random.rand(6, 7, 8, 2).astype(np.float32)
392395

caffe2/python/operator_test/reduction_ops_test.py

+8-7
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,18 @@
33
from __future__ import print_function
44
from __future__ import unicode_literals
55

6+
from caffe2.proto import caffe2_pb2
67
from caffe2.python import core
78
from hypothesis import assume, given
89
import caffe2.python.hypothesis_test_util as hu
10+
import caffe2.python.serialized_test.serialized_test_util as serial
911
import hypothesis.strategies as st
1012
import numpy as np
11-
from caffe2.proto import caffe2_pb2
1213

1314

14-
class TestReductionOps(hu.HypothesisTestCase):
15+
class TestReductionOps(serial.SerializedTestCase):
1516

16-
@given(n=st.integers(5, 8), **hu.gcs)
17+
@serial.given(n=st.integers(5, 8), **hu.gcs)
1718
def test_elementwise_sum(self, n, gc, dc):
1819
X = np.random.rand(n).astype(np.float32)
1920

@@ -41,7 +42,7 @@ def sum_op(X):
4142
outputs_with_grads=[0],
4243
)
4344

44-
@given(n=st.integers(5, 8), **hu.gcs)
45+
@serial.given(n=st.integers(5, 8), **hu.gcs)
4546
def test_elementwise_int_sum(self, n, gc, dc):
4647
X = np.random.rand(n).astype(np.int32)
4748

@@ -61,7 +62,7 @@ def sum_op(X):
6162
reference=sum_op,
6263
)
6364

64-
@given(n=st.integers(1, 65536),
65+
@serial.given(n=st.integers(1, 65536),
6566
dtype=st.sampled_from([np.float32, np.float16]),
6667
**hu.gcs)
6768
def test_elementwise_sqrsum(self, n, dtype, gc, dc):
@@ -120,7 +121,7 @@ def avg_op(X):
120121
outputs_with_grads=[0],
121122
)
122123

123-
@given(batch_size=st.integers(1, 3),
124+
@serial.given(batch_size=st.integers(1, 3),
124125
m=st.integers(1, 3),
125126
n=st.integers(1, 4),
126127
**hu.gcs)
@@ -143,7 +144,7 @@ def rowwise_max(X):
143144
reference=rowwise_max,
144145
)
145146

146-
@given(batch_size=st.integers(1, 3),
147+
@serial.given(batch_size=st.integers(1, 3),
147148
m=st.integers(1, 3),
148149
n=st.integers(1, 4),
149150
**hu.gcs)

caffe2/python/operator_test/segment_ops_test.py

+7-6
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
from caffe2.python import core, workspace
1414
import caffe2.python.hypothesis_test_util as hu
15+
import caffe2.python.serialized_test.serialized_test_util as serial
1516

1617

1718
class TesterBase:
@@ -418,7 +419,7 @@ def test_unsorted_means_large(self, gc, dc):
418419
op = core.CreateOperator("UnsortedSegmentMean", ["X", "segments"], "out")
419420
self.assertDeviceChecks(dc, op, [X, segments], [0])
420421

421-
@given(
422+
@serial.given(
422423
inputs=hu.lengths_tensor(
423424
dtype=np.float32,
424425
min_value=1,
@@ -447,7 +448,7 @@ def ref(D, L):
447448
self.assertDeviceChecks(dc, op, [X, Y], [0])
448449
self.assertGradientChecks(gc, op, [X, Y], 0, [0])
449450

450-
@given(
451+
@serial.given(
451452
inputs=hu.sparse_lengths_tensor(
452453
dtype=np.float32,
453454
min_value=1,
@@ -476,7 +477,7 @@ def ref(D, I, L):
476477
self.assertDeviceChecks(dc, op, [X, Y, Z], [0])
477478
self.assertGradientChecks(gc, op, [X, Y, Z], 0, [0])
478479

479-
@given(
480+
@serial.given(
480481
inputs=hu.lengths_tensor(
481482
dtype=np.float32,
482483
min_value=1,
@@ -511,7 +512,7 @@ def ref(D, L):
511512
self.assertDeviceChecks(dc, op, [X, Y], [0])
512513
self.assertGradientChecks(gc, op, [X, Y], 0, [0])
513514

514-
@given(
515+
@serial.given(
515516
inputs=hu.sparse_lengths_tensor(
516517
dtype=np.float32,
517518
min_value=1,
@@ -547,7 +548,7 @@ def ref(D, I, L):
547548
self.assertDeviceChecks(dc, op, [X, Y, Z], [0])
548549
self.assertGradientChecks(gc, op, [X, Y, Z], 0, [0])
549550

550-
@given(
551+
@serial.given(
551552
grad_on_weights=st.booleans(),
552553
inputs=hu.sparse_lengths_tensor(
553554
dtype=np.float32,
@@ -635,7 +636,7 @@ def test_sparse_lengths_sum_invalid_index(self, gc, dc):
635636
with self.assertRaises(RuntimeError):
636637
workspace.RunOperatorOnce(op)
637638

638-
@given(**hu.gcs_cpu_only)
639+
@serial.given(**hu.gcs_cpu_only)
639640
def test_sparse_lengths_positional_weighted_sum(
640641
self, gc, dc):
641642
D = np.random.rand(50, 3, 4, 5).astype(np.float32)

caffe2/python/operator_test/selu_op_test.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,17 @@
55

66
from caffe2.python import core
77
from hypothesis import given
8-
import hypothesis.strategies as st
98
import caffe2.python.hypothesis_test_util as hu
9+
import caffe2.python.serialized_test.serialized_test_util as serial
10+
import hypothesis.strategies as st
1011
import numpy as np
1112

1213
import unittest
1314

1415

15-
class TestSelu(hu.HypothesisTestCase):
16+
class TestSelu(serial.SerializedTestCase):
1617

17-
@given(X=hu.tensor(),
18+
@serial.given(X=hu.tensor(),
1819
engine=st.sampled_from(["", "CUDNN"]),
1920
**hu.gcs)
2021
def test_selu_1(self, X, gc, dc, engine):

caffe2/python/operator_test/sequence_ops_test.py

+9-7
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,16 @@
22
from __future__ import division
33
from __future__ import print_function
44
from __future__ import unicode_literals
5+
56
from caffe2.python import core
7+
from functools import partial
68
from hypothesis import given
79
import caffe2.python.hypothesis_test_util as hu
10+
import caffe2.python.serialized_test.serialized_test_util as serial
811
import hypothesis.strategies as st
912
import numpy as np
1013
import unittest
1114
import os
12-
from functools import partial
1315

1416

1517
def _gen_test_add_padding(with_pad_data=True,
@@ -99,8 +101,8 @@ def _gather_padding_ref(start_pad_width, end_pad_width, data, lengths):
99101
return (start_padding, end_padding)
100102

101103

102-
class TestSequenceOps(hu.HypothesisTestCase):
103-
@given(start_pad_width=st.integers(min_value=1, max_value=2),
104+
class TestSequenceOps(serial.SerializedTestCase):
105+
@serial.given(start_pad_width=st.integers(min_value=1, max_value=2),
104106
end_pad_width=st.integers(min_value=0, max_value=2),
105107
args=_gen_test_add_padding(with_pad_data=True),
106108
ret_lengths=st.booleans(),
@@ -187,7 +189,7 @@ def test_remove_padding(self, start_pad_width, end_pad_width, args, gc, dc):
187189
reference=partial(_remove_padding_ref, start_pad_width, end_pad_width))
188190

189191
@unittest.skipIf("IN_CIRCLECI" in os.environ, "FIXME: flaky test in CircleCI")
190-
@given(start_pad_width=st.integers(min_value=0, max_value=2),
192+
@serial.given(start_pad_width=st.integers(min_value=0, max_value=2),
191193
end_pad_width=st.integers(min_value=0, max_value=2),
192194
args=_gen_test_add_padding(with_pad_data=True),
193195
**hu.gcs)
@@ -208,7 +210,7 @@ def test_gather_padding(self, start_pad_width, end_pad_width, args, gc, dc):
208210
inputs=[padded_data, padded_lengths],
209211
reference=partial(_gather_padding_ref, start_pad_width, end_pad_width))
210212

211-
@given(data=hu.tensor(min_dim=3, max_dim=3, dtype=np.float32,
213+
@serial.given(data=hu.tensor(min_dim=3, max_dim=3, dtype=np.float32,
212214
elements=st.floats(min_value=-np.inf,
213215
max_value=np.inf),
214216
min_value=1, max_value=10),
@@ -242,7 +244,7 @@ def op_grad_ref(grad_out, outputs, inputs):
242244
output_to_grad='reversed_data',
243245
grad_reference=op_grad_ref)
244246

245-
@given(data=hu.tensor(min_dim=1, max_dim=3, dtype=np.float32,
247+
@serial.given(data=hu.tensor(min_dim=1, max_dim=3, dtype=np.float32,
246248
elements=st.floats(min_value=-np.inf,
247249
max_value=np.inf),
248250
min_value=10, max_value=10),
@@ -270,7 +272,7 @@ def op_ref(data, indices):
270272
inputs=[data, indices],
271273
reference=op_ref)
272274

273-
@given(elements=st.lists(st.integers(min_value=0, max_value=9),
275+
@serial.given(elements=st.lists(st.integers(min_value=0, max_value=9),
274276
min_size=0,
275277
max_size=10),
276278
**hu.gcs_cpu_only)

caffe2/python/operator_test/sinusoid_position_encoding_op_test.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from caffe2.python import core
77
from hypothesis import given
88
import caffe2.python.hypothesis_test_util as hu
9+
import caffe2.python.serialized_test.serialized_test_util as serial
910
import hypothesis.strategies as st
1011
import numpy as np
1112
import math
@@ -19,8 +20,8 @@
1920
MAX_TEST_AMPLITUDE = 10.0
2021

2122

22-
class TestSinusoidPositionEncodingOp(hu.HypothesisTestCase):
23-
@given(
23+
class TestSinusoidPositionEncodingOp(serial.SerializedTestCase):
24+
@serial.given(
2425
positions_vec=hu.arrays(
2526
dims=[MAX_TEST_SEQUENCE_LENGTH],
2627
dtype=np.int32,

0 commit comments

Comments
 (0)