21.02
|
#include <RecordByRecordCaffeParser.hpp>
Public Member Functions | |
virtual armnn::INetworkPtr | CreateNetworkFromBinaryFile (const char *graphFile, const std::map< std::string, armnn::TensorShape > &inputShapes, const std::vector< std::string > &requestedOutputs) override |
Create the network from a protobuf binary file on disk. More... | |
RecordByRecordCaffeParser () | |
Public Member Functions inherited from ICaffeParser::CaffeParserImpl | |
armnn::INetworkPtr | CreateNetworkFromTextFile (const char *graphFile, const std::map< std::string, armnn::TensorShape > &inputShapes, const std::vector< std::string > &requestedOutputs) |
Create the network from a protobuf text file on disk. More... | |
armnn::INetworkPtr | CreateNetworkFromString (const char *protoText, const std::map< std::string, armnn::TensorShape > &inputShapes, const std::vector< std::string > &requestedOutputs) |
Creates the network directly from protobuf text in a string. Useful for debugging/testing. More... | |
BindingPointInfo | GetNetworkInputBindingInfo (const std::string &name) const |
Retrieves binding info (layer id and tensor info) for the network input identified by the given layer name. More... | |
BindingPointInfo | GetNetworkOutputBindingInfo (const std::string &name) const |
Retrieves binding info (layer id and tensor info) for the network output identified by the given layer name. More... | |
CaffeParserImpl () | |
virtual | ~CaffeParserImpl ()=default |
Additional Inherited Members | |
Static Public Member Functions inherited from ICaffeParser::CaffeParserImpl | |
static const std::string | GetVersion () |
Retrieve version in X.Y.Z form. More... | |
Protected Types inherited from ICaffeParser::CaffeParserImpl | |
using | OperationParsingFunction = void(CaffeParserImpl::*)(const caffe::LayerParameter &layerParam) |
Protected Member Functions inherited from ICaffeParser::CaffeParserImpl | |
armnn::TensorInfo | BlobShapeToTensorInfo (const caffe::BlobShape &blobShape) const |
Converts Caffe's protobuf tensor shape format to ArmNN's. More... | |
void | TrackInputBinding (armnn::IConnectableLayer *layer, armnn::LayerBindingId id, const armnn::TensorInfo &tensorInfo) |
void | TrackOutputBinding (armnn::IConnectableLayer *layer, armnn::LayerBindingId id, const armnn::TensorInfo &tensorInfo) |
void | SetArmnnOutputSlotForCaffeTop (const std::string &caffeTopName, armnn::IOutputSlot &armnnOutputSlot) |
armnn::IOutputSlot & | GetArmnnOutputSlotForCaffeTop (const std::string &caffeTopName) const |
Retrieves the Armnn IOutputSlot representing the given Caffe top. More... | |
void | Cleanup () |
armnn::INetworkPtr | CreateNetworkFromNetParameter (caffe::NetParameter &netParam, const std::map< std::string, armnn::TensorShape > &inputShapes, const std::vector< std::string > &requestedOutputs) |
Parses a NetParameter loaded into memory from one of the other CreateNetwork*. More... | |
void | LoadNetParam (caffe::NetParameter &netParameter) |
does the actual conversion from caffe::NetParameter to armnn::INetwork More... | |
std::vector< const caffe::LayerParameter * > | GetInputs (const caffe::LayerParameter &layerParam) |
Find the Caffe layers listed as inputs (bottoms) for a given layer. More... | |
void | ResolveInPlaceLayers (caffe::NetParameter &netParameter) |
Modifies the Caffe network to replace "in-place" layers (whose top() and bottom() are both the same) with regular layers. More... | |
void | ParseInputLayer (const caffe::LayerParameter &layerParam) |
Adds an armnn layer to m_Network given a Caffe LayerParameter of the correct type and is responsible for recording any newly created IOutputSlots using SetArmnnOutputSlotForCaffeTop(). More... | |
void | ParseConvLayer (const caffe::LayerParameter &layerParam) |
void | ParseDeconvLayer (const caffe::LayerParameter &layerParam) |
void | ParsePoolingLayer (const caffe::LayerParameter &layerParam) |
void | ParseReluLayer (const caffe::LayerParameter &layerParam) |
void | ParseLRNLayer (const caffe::LayerParameter &layerParam) |
void | ParseInnerProductLayer (const caffe::LayerParameter &layerParam) |
void | ParseSoftmaxLayer (const caffe::LayerParameter &layerParam) |
void | ParseEltwiseLayer (const caffe::LayerParameter &layerParam) |
void | ParseConcatLayer (const caffe::LayerParameter &layerParam) |
void | ParseBatchNormLayer (const caffe::LayerParameter &layerParam) |
void | ParseScaleLayer (const caffe::LayerParameter &layerParam) |
void | ParseSplitLayer (const caffe::LayerParameter &layerParam) |
void | ParseDropoutLayer (const caffe::LayerParameter &layerParam) |
void | ParseArgmaxLayer (const caffe::LayerParameter &layerParam) |
void | AddConvLayerWithSplits (const caffe::LayerParameter &layerParam, const armnn::Convolution2dDescriptor &desc, unsigned int kernelW, unsigned int kernelH) |
ParseConv may use these helpers depending on the group parameter. More... | |
void | AddConvLayerWithDepthwiseConv (const caffe::LayerParameter &layerParam, const armnn::Convolution2dDescriptor &desc, unsigned int kernelW, unsigned int kernelH) |
void | AddDeconvLayerWithSplits (const caffe::LayerParameter &layerParam, const armnn::TransposeConvolution2dDescriptor &desc, unsigned int kernelW, unsigned int kernelH) |
Static Protected Member Functions inherited from ICaffeParser::CaffeParserImpl | |
static void | TrackBindingPoint (armnn::IConnectableLayer *layer, armnn::LayerBindingId id, const armnn::TensorInfo &tensorInfo, const char *bindingPointDesc, std::unordered_map< std::string, BindingPointInfo > &nameToBindingInfo) |
static std::pair< armnn::LayerBindingId, armnn::TensorInfo > | GetBindingInfo (const std::string &layerName, const char *bindingPointDesc, const std::unordered_map< std::string, BindingPointInfo > &bindingInfos) |
Protected Attributes inherited from ICaffeParser::CaffeParserImpl | |
std::unordered_map< std::string, BindingPointInfo > | m_NetworkInputsBindingInfo |
maps input layer names to their corresponding ids and tensor infos More... | |
std::unordered_map< std::string, BindingPointInfo > | m_NetworkOutputsBindingInfo |
maps output layer names to their corresponding ids and tensor infos More... | |
armnn::INetworkPtr | m_Network |
std::map< std::string, armnn::TensorShape > | m_InputShapes |
std::unordered_map< std::string, armnn::IOutputSlot * > | m_ArmnnOutputSlotForCaffeTop |
As we add armnn layers we store the armnn IOutputSlot which corresponds to the Caffe tops. More... | |
std::vector< std::string > | m_RequestedOutputs |
std::map< std::string, const caffe::LayerParameter * > | m_CaffeLayersByTopName |
Static Protected Attributes inherited from ICaffeParser::CaffeParserImpl | |
static const std::map< std::string, OperationParsingFunction > | ms_CaffeLayerNameToParsingFunctions |
Maps Caffe layer names to parsing member functions. More... | |
Definition at line 25 of file RecordByRecordCaffeParser.hpp.
Definition at line 459 of file RecordByRecordCaffeParser.cpp.
|
overridevirtual |
Create the network from a protobuf binary file on disk.
Implements ICaffeParser::CaffeParserImpl.
Definition at line 462 of file RecordByRecordCaffeParser.cpp.
References ICaffeParser::CaffeParserImpl::Cleanup(), IOutputSlot::Connect(), INetwork::Create(), ICaffeParser::CaffeParserImpl::GetArmnnOutputSlotForCaffeTop(), armnn::info, ICaffeParser::CaffeParserImpl::m_InputShapes, ICaffeParser::CaffeParserImpl::m_Network, ICaffeParser::CaffeParserImpl::m_NetworkInputsBindingInfo, ICaffeParser::CaffeParserImpl::m_NetworkOutputsBindingInfo, ICaffeParser::CaffeParserImpl::ms_CaffeLayerNameToParsingFunctions, armnn::numeric_cast(), ICaffeParser::CaffeParserImpl::ResolveInPlaceLayers(), and ICaffeParser::CaffeParserImpl::TrackOutputBinding().