openvino/tests/layer_tests/pytorch_tests/test_reshape.py

43 lines
1.1 KiB
Python

# Copyright (C) 2018-2023 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
import numpy as np
import pytest
from pytorch_layer_test_class import PytorchLayerTest
class TestReshape(PytorchLayerTest):
def _prepare_input(self):
return (np.random.uniform(0, 50, (1, 12, 12, 24)).astype(np.float32),)
def create_model(self, shape):
import torch
class aten_reshape(torch.nn.Module):
def __init__(self, shape):
super(aten_reshape, self).__init__()
self.shape = shape
def forward(self, x):
return torch.reshape(x, self.shape)
ref_net = None
return aten_reshape(shape), ref_net, "aten::reshape"
@pytest.mark.parametrize(("shape"), [
[-1, 6],
[12, 12, 24, 1],
[12, 12, 12, 2],
[12, -1, 12, 24],
[24, 12, 12, 1],
[24, 12, 12, -1],
[24, 1, -1, 12],
[24, 1, 1, -1, 12],
])
@pytest.mark.nightly
@pytest.mark.precommit
def test_reshape(self, shape, ie_device, precision, ir_version):
self._test(*self.create_model(shape), ie_device, precision, ir_version)