1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
5 #include <builders/ie_resample_layer.hpp>
6 #include <ie_cnn_layer_builder.h>
10 using namespace InferenceEngine;
12 Builder::ResampleLayer::ResampleLayer(const std::string& name): LayerDecorator("Resample", name) {
13 getLayer()->getInputPorts().resize(1);
14 getLayer()->getOutputPorts().resize(1);
17 Builder::ResampleLayer::ResampleLayer(const Layer::Ptr& layer): LayerDecorator(layer) {
18 checkType("Resample");
21 Builder::ResampleLayer::ResampleLayer(const Layer::CPtr& layer): LayerDecorator(layer) {
22 checkType("Resample");
25 Builder::ResampleLayer& Builder::ResampleLayer::setName(const std::string& name) {
26 getLayer()->setName(name);
29 const Port& Builder::ResampleLayer::getInputPort() const {
30 return getLayer()->getInputPorts()[0];
32 Builder::ResampleLayer& Builder::ResampleLayer::setInputPort(const Port& port) {
33 getLayer()->getInputPorts()[0] = port;
36 const Port& Builder::ResampleLayer::getOutputPort() const {
37 return getLayer()->getOutputPorts()[0];
39 Builder::ResampleLayer& Builder::ResampleLayer::setOutputPort(const Port& port) {
40 getLayer()->getOutputPorts()[0] = port;
44 const std::string &Builder::ResampleLayer::getResampleType() const {
45 return getLayer()->getParameters().at("type");
48 Builder::ResampleLayer &Builder::ResampleLayer::setResampleType(const std::string &type) {
49 getLayer()->getParameters()["type"] = type;
53 bool Builder::ResampleLayer::getAntialias() const {
54 return getLayer()->getParameters().at("antialias");
57 Builder::ResampleLayer &Builder::ResampleLayer::setAntialias(bool antialias) {
58 getLayer()->getParameters()["antialias"] = antialias;
62 float Builder::ResampleLayer::getFactor() const {
63 return getLayer()->getParameters().at("factor");
66 Builder::ResampleLayer &Builder::ResampleLayer::setFactor(float factor) {
67 getLayer()->getParameters()["factor"] = factor;
71 size_t Builder::ResampleLayer::getWidth() const {
72 return getLayer()->getParameters().at("width");
75 Builder::ResampleLayer &Builder::ResampleLayer::setWidth(size_t width) {
76 getLayer()->getParameters()["width"] = width;
80 size_t Builder::ResampleLayer::getHeight() const {
81 return getLayer()->getParameters().at("height");
84 Builder::ResampleLayer &Builder::ResampleLayer::setHeight(size_t height) {
85 getLayer()->getParameters()["height"] = height;
89 REG_CONVERTER_FOR(Resample, [](const CNNLayerPtr& cnnLayer, Builder::Layer& layer) {
90 layer.getParameters()["height"] = static_cast<size_t>(cnnLayer->GetParamAsUInt("height", 0));
91 layer.getParameters()["width"] = static_cast<size_t>(cnnLayer->GetParamAsUInt("width", 0));
92 layer.getParameters()["factor"] = cnnLayer->GetParamAsFloat("factor", 0);
93 layer.getParameters()["antialias"] = cnnLayer->GetParamAsBool("antialias", false);
94 layer.getParameters()["type"] = cnnLayer->GetParamAsString("type");