forked from openvinotoolkit/openvino
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_tf_OneHot.py
52 lines (44 loc) · 2.14 KB
/
test_tf_OneHot.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Copyright (C) 2018-2023 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
import pytest
from common.tf_layer_test_class import CommonTFLayerTest
class TestOneHot(CommonTFLayerTest):
@staticmethod
def create_one_hot_net(shape, depth, on_value, off_value, axis):
import tensorflow as tf
tf.compat.v1.reset_default_graph()
# Create the graph and model
with tf.compat.v1.Session() as sess:
indices = tf.compat.v1.placeholder(tf.int32, shape, name='input_indices')
tf.raw_ops.OneHot(indices=indices,
depth=depth,
on_value=on_value,
off_value=off_value,
axis=axis,
name='Operation')
tf.compat.v1.global_variables_initializer()
tf_net = sess.graph_def
return tf_net, None
test_data_basic = [
dict(shape=[2], depth=3, on_value=1.0, off_value=-1.0, axis=None),
dict(shape=[2, 3], depth=4, on_value=5.0, off_value=10.0, axis=1),
]
@pytest.mark.parametrize("params", test_data_basic)
@pytest.mark.precommit_tf_fe
@pytest.mark.nightly
def test_one_hot_basic(self, params, ie_device, precision, ir_version, temp_dir, use_new_frontend,
use_old_api):
self._test(*self.create_one_hot_net(**params),
ie_device, precision, ir_version, temp_dir=temp_dir,
use_new_frontend=use_new_frontend, use_old_api=use_old_api)
test_data_complex = [
dict(shape=[3, 4], depth=1, on_value=1.0, off_value=-5.0, axis=-2),
dict(shape=[3, 4, 2, 1], depth=4, on_value=3.0, off_value=5.0, axis=2),
]
@pytest.mark.parametrize("params", test_data_basic)
@pytest.mark.nightly
def test_one_hot_complex(self, params, ie_device, precision, ir_version, temp_dir, use_new_frontend,
use_old_api):
self._test(*self.create_one_hot_net(**params),
ie_device, precision, ir_version, temp_dir=temp_dir,
use_new_frontend=use_new_frontend, use_old_api=use_old_api)