24 return CloneBase<MemImportLayer>(graph,
GetName());
29 boost::ignore_unused(factory);
33 return std::make_unique<ImportMemGenericWorkload>(descriptor,
PrepInfoAndDesc(descriptor));
42 BOOST_ASSERT(inferredShapes.size() == 1);
44 ConditionalThrowIfNotEqual<LayerValidationException>(
45 "MemImportLayer: TensorShape set on OutputSlot[0] does not match the inferred shape.",
52 boost::ignore_unused(visitor);
53 throw armnn::Exception(
"MemImportLayer should not appear in an input graph");
const char * GetName() const override
std::vector< TensorShape > InferOutputShapes(const std::vector< TensorShape > &inputShapes) const override
void ValidateTensorShapesFromInputs() override
virtual const TensorInfo & GetTensorInfo() const =0
virtual std::unique_ptr< IWorkload > CreateWorkload(const IWorkloadFactory &factory) const override
WorkloadInfo PrepInfoAndDesc(QueueDescriptor &descriptor) const
Helper function to reduce duplication in *LayerCreateWorkload.
MemImportLayer * Clone(Graph &graph) const override
void VerifyLayerConnections(unsigned int expectedConnections, const CheckLocation &location) const
This layer represents a memory import operation.
void Accept(ILayerVisitor &visitor) const override
Base class for all ArmNN exceptions so that users can filter to just those.
const TensorShape & GetShape() const
const TensorInfo & GetTensorInfo() const override
const OutputSlot & GetOutputSlot(unsigned int index=0) const override
MemImportLayer(const char *name)
const InputSlot & GetInputSlot(unsigned int index) const override