To transpose the tensor Args: axes: axes to transpose Returns: new transposed tensor
(self, axes=None)
| 188 | return self.data.transpose() |
| 189 | |
| 190 | def transpose(self, axes=None): |
| 191 | ''' To transpose the tensor |
| 192 | |
| 193 | Args: |
| 194 | axes: axes to transpose |
| 195 | |
| 196 | Returns: |
| 197 | new transposed tensor |
| 198 | ''' |
| 199 | t = Tensor(self.shape, self.device, self.dtype) |
| 200 | if axes is None: |
| 201 | tshape = [self.shape[x] for x in range(len(t.shape))] |
| 202 | t.shape = tuple(tshape) |
| 203 | t.data = singa.DefaultTranspose(self.data) |
| 204 | else: |
| 205 | if (len(axes) != len(self.shape)): |
| 206 | raise ValueError('dimensions do not match') |
| 207 | tshape = [self.shape[x] for x in axes] |
| 208 | t.shape = tuple(tshape) |
| 209 | t.data = singa.Transpose(self.data, list(axes)) |
| 210 | return t |
| 211 | |
| 212 | def size(self): # TODO(wangwei) compute size |
| 213 | ''' |
no test coverage detected