Ejemplo n.º 1
0
 def test_mapper1_case_2(self):
     arc_map = k2host.IntArray1(torch.IntTensor([2, 0, 3]))
     mapper = k2host.AuxLabels1Mapper(self.aux_labels_in, arc_map)
     aux_size = k2host.IntArray2Size()
     mapper.get_sizes(aux_size)
     labels_out = k2host.AuxLabels.create_array_with_size(aux_size)
     mapper.get_output(labels_out)
     self.assertEqual(aux_size.size1, 3)
     self.assertEqual(aux_size.size2, 5)
     expected_indexes = torch.IntTensor([0, 3, 4, 5])
     expected_data = torch.IntTensor([4, 5, 6, 1, 7])
     self.assertTrue(torch.equal(labels_out.indexes, expected_indexes))
     self.assertTrue(torch.equal(labels_out.data, expected_data))
Ejemplo n.º 2
0
    def test_int_array1(self):
        data = torch.arange(10).to(torch.int32)

        array = k2host.IntArray1(data)
        self.assertFalse(array.empty())
        self.assertIsInstance(array, k2host.IntArray1)
        self.assertEqual(data.numel(), array.size)
        self.assertEqual(array.data[9], 9)

        # the underlying memory is shared between k2host and torch;
        # so change one will change another
        data[0] = 100
        self.assertEqual(array.data[0], 100)
        self.assertEqual(array.get_data(0), 100)

        del data
        # the array in k2host is still accessible
        self.assertEqual(array.data[0], 100)
        self.assertEqual(array.get_data(0), 100)