blob: 690318d308c0eaab2d845988aa3297c68e724aef [file] [log] [blame]
//
// Copyright © 2017 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
#include "PadLayer.hpp"
#include "LayerCloneBase.hpp"
#include <backendsCommon/CpuTensorHandle.hpp>
#include <backendsCommon/WorkloadData.hpp>
#include <backendsCommon/WorkloadFactory.hpp>
#include <cstring>
namespace armnn
{
PadLayer::PadLayer(const armnn::PadDescriptor& param, const char* name)
: LayerWithParameters(1, 1, LayerType::Pad, param, name)
{}
std::unique_ptr<IWorkload> PadLayer::CreateWorkload(const armnn::IWorkloadFactory& factory) const
{
PadQueueDescriptor descriptor;
descriptor.m_Parameters.m_PadList = m_Param.m_PadList;
return factory.CreatePad(descriptor, PrepInfoAndDesc(descriptor));
}
PadLayer* PadLayer::Clone(Graph& graph) const
{
auto layer = CloneBase<PadLayer>(graph, m_Param, GetName());
layer->m_Param.m_PadList = m_Param.m_PadList;
return std::move(layer);
}
void PadLayer::ValidateTensorShapesFromInputs(ShapeInferenceMethod shapeInferenceMethod)
{
IgnoreUnused(shapeInferenceMethod);
return;
}
void PadLayer::Accept(ILayerVisitor& visitor) const
{
visitor.VisitPadLayer(this, GetParameters(), GetName());
}
} // namespace armnn