| def forward(self, input): |
| return None |
| |
| def eqBool(self, input: bool) -> bool: |
| return input |
| |
| def eqInt(self, input: int) -> int: |
| return input |
| |
| def eqFloat(self, input: float) -> float: |
| return input |
| |
| def eqStr(self, input: str) -> str: |
| return input |
| |
| def eqTensor(self, input: Tensor) -> Tensor: |
| return input |
| |
| def eqDictStrKeyIntValue(self, input: Dict[str, int]) -> Dict[str, int]: |
| return input |
| |
| def eqDictIntKeyIntValue(self, input: Dict[int, int]) -> Dict[int, int]: |
| return input |
| |
| def eqDictFloatKeyIntValue(self, input: Dict[float, int]) -> Dict[float, int]: |
| return input |
| |
| def listIntSumReturnTuple(self, input: List[int]) -> Tuple[List[int], int]: |
| sum = 0 |
| for x in input: |
| sum += x |
| return (input, sum) |
| |
| def listBoolConjunction(self, input: List[bool]) -> bool: |
| res = True |
| for x in input: |
| res = res and x |
| return res |
| |
| def listBoolDisjunction(self, input: List[bool]) -> bool: |
| res = False |
| for x in input: |
| res = res or x |
| return res |
| |
| def tupleIntSumReturnTuple(self, input: Tuple[int, int, int]) -> Tuple[Tuple[int, int, int], int]: |
| sum = 0 |
| for x in input: |
| sum += x |
| return (input, sum) |
| |
| def optionalIntIsNone(self, input: Optional[int]) -> bool: |
| return input is None |
| |
| def intEq0None(self, input: int) -> Optional[int]: |
| if input == 0: |
| return None |
| return input |
| |
| def str3Concat(self, input: str) -> str: |
| return input + input + input |
| |
| def newEmptyShapeWithItem(self, input): |
| return torch.tensor([int(input.item())])[0] |
| |
| def testAliasWithOffset(self) -> List[Tensor]: |
| x = torch.tensor([100, 200]) |
| a = [x[0], x[1]] |
| return a |
| |
| def testNonContiguous(self): |
| x = torch.tensor([100, 200, 300])[::2] |
| assert not x.is_contiguous() |
| assert x[0] == 100 |
| assert x[1] == 300 |
| return x |
| |
| def conv2d(self, x: Tensor, w: Tensor, toChannelsLast: bool) -> Tensor: |
| r = torch.conv2d(x, w) |
| if (toChannelsLast): |
| # memory_format=torch.channels_last |
| r = r.contiguous(memory_format=2) |
| else: |
| r = r.contiguous() |
| return r |
| |
| def contiguous(self, x: Tensor) -> Tensor: |
| return x.contiguous() |
| |
| def contiguousChannelsLast(self, x: Tensor) -> Tensor: |
| # memory_format=torch.channels_last |
| return x.contiguous(memory_format=2) |
| |
| def contiguousChannelsLast3d(self, x: Tensor) -> Tensor: |
| # memory_format=torch.channels_last_3d |
| return x.contiguous(memory_format=3) |