FAST
3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
|
Go to the documentation of this file.
10 #define DEFINE_INFERENCE_ENGINE(classType, exportStatement) \
11 extern "C" exportStatement \
12 InferenceEngine* load() { \
13 return new classType(); \
78 typedef std::shared_ptr<InferenceEngine>
pointer;
83 std::shared_ptr<Tensor>
data;
85 virtual void setFilename(std::string filename);
86 virtual void setModelAndWeights(std::vector<uint8_t> model, std::vector<uint8_t> weights);
87 virtual std::string getFilename()
const;
88 virtual void run() = 0;
91 virtual void setInputNodeShape(std::string name, TensorShape shape);
92 virtual void setOutputNodeShape(std::string name, TensorShape shape);
93 virtual NetworkNode getInputNode(std::string name)
const;
94 virtual NetworkNode getOutputNode(std::string name)
const;
95 virtual std::unordered_map<std::string, NetworkNode> getOutputNodes()
const;
96 virtual std::unordered_map<std::string, NetworkNode> getInputNodes()
const;
97 virtual void setInputData(std::string inputNodeName, std::shared_ptr<Tensor> tensor);
98 virtual std::shared_ptr<Tensor> getOutputData(std::string inputNodeName);
99 virtual void load() = 0;
100 virtual bool isLoaded()
const;
102 virtual std::string getName()
const = 0;
103 virtual std::vector<ModelFormat> getSupportedModelFormats()
const = 0;
104 virtual ModelFormat getPreferredModelFormat()
const = 0;
123 virtual std::vector<InferenceDeviceInfo> getDeviceList();
125 virtual int getMaxBatchSize();
126 virtual void setMaxBatchSize(
int size);
128 virtual void setIsLoaded(
bool loaded);
133 int m_deviceIndex = -1;
135 int m_maxBatchSize = 1;
140 std::string m_filename =
"";
141 bool m_isLoaded =
false;
Definition: OpenVINOEngine.hpp:6
FAST_EXPORT std::string getModelFormatName(ModelFormat format)
NodeType
Definition: InferenceEngine.hpp:26
std::shared_ptr< InferenceEngine > pointer
Definition: InferenceEngine.hpp:78
Definition: TensorShape.hpp:9
Definition: AffineTransformation.hpp:7
Definition: InferenceEngine.hpp:39
std::vector< uint8_t > m_model
Definition: InferenceEngine.hpp:137
TensorShape shape
Definition: InferenceEngine.hpp:82
std::string name
Definition: InferenceEngine.hpp:40
Definition: Object.hpp:34
InferenceDeviceType type
Definition: InferenceEngine.hpp:41
std::unordered_map< std::string, NetworkNode > mInputNodes
Definition: InferenceEngine.hpp:130
FAST_EXPORT ModelFormat getModelFormat(std::string filename)
std::string format(std::string format, Args &&... args)
Definition: Utility.hpp:33
ModelFormat
Definition: InferenceEngine.hpp:48
int index
Definition: InferenceEngine.hpp:42
NodeType type
Definition: InferenceEngine.hpp:81
std::vector< uint8_t > m_weights
Definition: InferenceEngine.hpp:138
InferenceDeviceType
Definition: InferenceEngine.hpp:31
FAST_EXPORT std::string getModelFileExtension(ModelFormat format)
uint portID
Definition: InferenceEngine.hpp:80
ImageOrdering
Definition: InferenceEngine.hpp:21
unsigned int uint
Definition: DataTypes.hpp:16
std::unordered_map< std::string, NetworkNode > mOutputNodes
Definition: InferenceEngine.hpp:131
std::shared_ptr< Tensor > data
Definition: InferenceEngine.hpp:83
Definition: InferenceEngine.hpp:79