import unittest import hypothesis.strategies as st from hypothesis import given import numpy as np from caffe2.python import core, workspace import caffe2.python.hypothesis_test_util as hu import caffe2.python.ideep_test_util as mu @unittest.skipIf(not workspace.C.use_mkldnn, "No MKLDNN support.") class SoftmaxTest(hu.HypothesisTestCase): @given(size=st.integers(8, 20), input_channels=st.integers(1, 3), batch_size=st.integers(1, 3), inplace=st.booleans(), **mu.gcs) def test_softmax(self, size, input_channels, batch_size, inplace, gc, dc): op = core.CreateOperator( "Softmax", ["X"], ["Y"], axis=1, ) X = np.random.rand( batch_size, input_channels, size, size).astype(np.float32) - 0.5 self.assertDeviceChecks(dc, op, [X], [0]) if __name__ == "__main__": unittest.main()