Files
openvino/ngraph/test/visitors/op/ctc_loss.cpp
T
Bartosz Lesniewski 9c5e7654d9 Revise CTCLoss OP (#6953)
* Add visitor test to CTCLoss

* Add CTC Loss SSLT

* Add CTC Loss template tests

* Use ngraph rtti macros

* Code style fix
2021-08-20 06:53:37 +03:00

41 lines
1.5 KiB
C++

// Copyright (C) 2018-2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
#include "gtest/gtest.h"
#include "ngraph/ngraph.hpp"
#include "ngraph/op/util/attr_types.hpp"
#include "ngraph/opsets/opset1.hpp"
#include "ngraph/opsets/opset3.hpp"
#include "ngraph/opsets/opset4.hpp"
#include "ngraph/opsets/opset5.hpp"
#include "util/visitor.hpp"
using namespace std;
using namespace ngraph;
using ngraph::test::NodeBuilder;
using ngraph::test::ValueMap;
TEST(attributes, ctc_loss) {
NodeBuilder::get_ops().register_factory<opset4::CTCLoss>();
auto logits = make_shared<op::Parameter>(element::f32, Shape{10, 120, 28});
auto logit_length = make_shared<op::Parameter>(element::i32, Shape{10});
auto labels = make_shared<op::Parameter>(element::i32, Shape{10, 120});
auto label_length = make_shared<op::Parameter>(element::i32, Shape{10});
auto blank_index = make_shared<op::Parameter>(element::i32, Shape{});
auto ctc_loss = make_shared<opset4::CTCLoss>(logits, logit_length, labels, label_length, blank_index);
NodeBuilder builder(ctc_loss);
auto g_ctc_loss = as_type_ptr<opset4::CTCLoss>(builder.create());
// attribute count
const auto expected_attr_count = 3;
EXPECT_EQ(builder.get_value_map_size(), expected_attr_count);
// CTC Loss attributes
EXPECT_EQ(g_ctc_loss->get_preprocess_collapse_repeated(), ctc_loss->get_preprocess_collapse_repeated());
EXPECT_EQ(g_ctc_loss->get_ctc_merge_repeated(), ctc_loss->get_ctc_merge_repeated());
EXPECT_EQ(g_ctc_loss->get_unique(), ctc_loss->get_unique());
}