def setUp(self): self.lock = torch.multiprocessing.get_context('spawn').Lock() self.model = LSTMLayer(num_classes=5) cardinality = Cardinality(3, "", "") cardinality.list_classes = [1,1,1,2,2,3,4,5,6] cardinality.counter= {1:10, 2:100, 3:100, 4:100, 6:1000, 5:1000} cardinality.compute_position() self.result = Result(cardinality)
def test_compute_position(self): cardinality = Cardinality(3, "", "") cardinality.list_classes = [1, 1, 1, 2, 2, 3, 4, 5, 6] cardinality.counter = {1: 10, 2: 100, 3: 100, 4: 100, 6: 1000, 5: 1000} cardinality.compute_position() self.assertEqual(len(cardinality.set_classes_kept), 3) self.assertEqual(list(cardinality.list_position), [3, 4, 5, 6]) self.assertEqual(cardinality.number_of_classes, 5) self.assertEqual(len(cardinality), 4)
def test_compute_position_one_model(self): cardinality = Cardinality(3, "", "", one_model=True, set_cardinalities=[1, 2, 3, 4, 5]) cardinality.list_classes = [1, 1, 1, 2, 2, 3, 4, 5, 6] cardinality.counter = {1: 10, 2: 100, 3: 100, 4: 100, 6: 1000, 5: 1000} cardinality.compute_position() self.assertEqual(len(cardinality.set_classes_kept), 6) self.assertEqual(list(cardinality.list_position), [0, 1, 2, 3, 4, 5, 6, 7, 8]) self.assertEqual(cardinality.number_of_classes, 7) self.assertEqual(len(cardinality), 9)
def test_getitem(self): cardinality = Cardinality(3, "", "") cardinality.size_windows = 4 cardinality.list_classes = [ 1, 1, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 4, 5, 6 ] cardinality.counter = {1: 10, 2: 100, 3: 100, 4: 100, 6: 1000, 5: 1000} cardinality.w2v = { "1": [1] * 20, "2": [2] * 20, "3": [3] * 20, "4": [4] * 20, "5": [5] * 20, "6": [6] * 20, "7": [7] * 20 } cardinality.list_position = range(len(cardinality.list_classes)) # Normal output_getitem = cardinality.__getitem__( len(cardinality.list_classes) - 1) self.assertEqual(output_getitem['output'], 6) self.assertEqual(len(list(output_getitem['input'][0])), 20) self.assertEqual(len(list(output_getitem['input'])), 4) # Invalid output_getitem = cardinality.__getitem__(0) self.assertListEqual(list(output_getitem['input']), [-1]) self.assertEqual(output_getitem['output'], -1) # Invalid due to the same pattern output_getitem = cardinality.__getitem__(1) self.assertEqual(output_getitem['output'], -1) self.assertListEqual(list(output_getitem['input']), [-1]) self.assertEqual(output_getitem['output'], -1) # Padding output_getitem = cardinality.__getitem__(5) self.assertEqual(output_getitem['output'], 1) self.assertEqual(len(list(output_getitem['input'][0])), 20) self.assertEqual(len(list(output_getitem['input'])), 4)
def test_compute_position_void(self): cardinality = Cardinality(3, "", "") cardinality.list_classes = [] cardinality.counter = {1: 10, 2: 100, 3: 100, 4: 100, 6: 1000, 5: 1000} cardinality.compute_position() self.assertEqual(cardinality.number_of_classes, 0)