29 return CloneBase<ConvertFp32ToFp16Layer>(graph,
GetName());
38 BOOST_ASSERT(inferredShapes.size() == 1);
40 ConditionalThrowIfNotEqual<LayerValidationException>(
41 "ConvertFp32ToFp16Layer: TensorShape set on OutputSlot[0] does not match the inferred shape.",
50 boost::ignore_unused(visitor);
51 throw armnn::Exception(
"ConvertFp32ToFp16Layer should never appear in an input graph");
const char * GetName() const override
void Accept(ILayerVisitor &visitor) const override
std::vector< TensorShape > InferOutputShapes(const std::vector< TensorShape > &inputShapes) const override
virtual const TensorInfo & GetTensorInfo() const =0
void ValidateTensorShapesFromInputs() override
WorkloadInfo PrepInfoAndDesc(QueueDescriptor &descriptor) const
Helper function to reduce duplication in *LayerCreateWorkload.
This layer converts data type Float 32 to Float 16.
ConvertFp32ToFp16Layer * Clone(Graph &graph) const override
void VerifyLayerConnections(unsigned int expectedConnections, const CheckLocation &location) const
Base class for all ArmNN exceptions so that users can filter to just those.
virtual std::unique_ptr< IWorkload > CreateWorkload(const IWorkloadFactory &factory) const override
virtual std::unique_ptr< IWorkload > CreateConvertFp32ToFp16(const ConvertFp32ToFp16QueueDescriptor &descriptor, const WorkloadInfo &info) const
const TensorShape & GetShape() const
const TensorInfo & GetTensorInfo() const override
const OutputSlot & GetOutputSlot(unsigned int index=0) const override
ConvertFp32ToFp16Layer(const char *name)
const InputSlot & GetInputSlot(unsigned int index) const override