Methods `import` and `createIR` are always used together. Join them to simplify usage.
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
public:
// template method pattern
PassData run(PassData /*data*/) final {
- import();
- return createIR();
+ return importModel();
}
static std::unique_ptr<NNImporter> createNNImporter();
void cleanup() override {}
- /**
- * @brief Import model from file, must be called before 'createIR' method
- * @throw PassException in case, if model couldn't be parsed or NNC doesn't support it
- */
- virtual void import() = 0;
-
- /**
- * @brief Create MIR graph from caffe model, must be called after 'import' method
- * @return MIR graph, corresponding to processed caffe model
- */
- virtual mir::Graph *createIR() = 0;
+ virtual mir::Graph *importModel() = 0;
std::string getName() override { return "importer";};
};
{
}
-void Caffe2ImporterPass::import()
+mir::Graph *Caffe2ImporterPass::importModel()
{
try
{
_pimpl->import();
- }
- catch (const std::exception &e)
- {
- throw PassException(e.what());
- }
-}
-
-mir::Graph *Caffe2ImporterPass::createIR()
-{
- try
- {
return _pimpl->createIR();
}
catch (const std::exception &e)
explicit Caffe2ImporterPass(const std::string &predict_net, const std::string &init_net,
const std::vector<std::vector<int>> &input_shapes);
- /**
- * @brief Import model from file, must be called before 'createIR' method
- * @throw PassException in case, if model couldn't be parsed or NNC doesn't support it
- */
- void import() override;
-
- /**
- * @brief Create MIR graph from caffe model, must be called after 'import' method
- * @return MIR graph, corresponding to processed caffe model
- */
- mir::Graph *createIR() override;
+ mir::Graph *importModel() override;
void cleanup() override;
{
}
-void CaffeImporterPass::import()
+mir::Graph *CaffeImporterPass::importModel()
{
try
{
_pimpl->import();
- }
- catch (const std::exception &e)
- {
- throw PassException(e.what());
- }
-}
-
-mir::Graph *CaffeImporterPass::createIR()
-{
- try
- {
-
return _pimpl->createIR();
}
catch (const std::exception &e)
public:
explicit CaffeImporterPass(const std::string &filename);
- void import() override;
-
- mir::Graph *createIR() override;
+ mir::Graph *importModel() override;
void cleanup() override;
{
}
-void ONNXImporterPass::import()
+mir::Graph *ONNXImporterPass::importModel()
{
try
{
_pimpl->import();
- }
- catch (const std::exception &e)
- {
- throw PassException(e.what());
- }
-}
-
-mir::Graph *ONNXImporterPass::createIR()
-{
- try
- {
return _pimpl->createIR();
}
catch (const std::exception &e)
public:
explicit ONNXImporterPass(const std::string &filename);
- void import() override;
-
- mir::Graph *createIR() override;
+ mir::Graph *importModel() override;
~ONNXImporterPass() override;
{
}
-void TfliteImporterPass::import()
+mir::Graph *TfliteImporterPass::importModel()
{
try
{
_pimpl->import();
- }
- catch (const std::exception &e)
- {
- throw PassException(e.what());
- }
-}
-
-mir::Graph *TfliteImporterPass::createIR()
-{
- try
- {
return _pimpl->createIR();
}
catch (const std::exception &e)
public:
explicit TfliteImporterPass(const std::string &filename);
- /**
- * @brief Import model from file, must be called before 'createIR' method
- * @throw PassException in case, if model couldn't be parsed or NNC doesn't support it
- */
- void import() override;
-
- /**
- * @brief Create MIR graph from caffe model, must be called after 'import' method
- * @return MIR graph, corresponding to processed caffe model
- */
- mir::Graph *createIR() override;
+ mir::Graph *importModel() override;
void cleanup() override;
nnc::CaffeImporterPass importer{cli::inputFile};
- importer.import();
-
try {
- importer.createIR();
+ importer.importModel();
}
catch (...) {
std::cout << "Could not create IR for model \"" << cli::inputFile << "\"" << std::endl;
cli::CommandLine::getParser()->parseCommandLine(argc, argv);
nnc::TfliteImporterPass importer{cli::inputFile};
- importer.import();
-
try
{
- importer.createIR();
+ importer.importModel();
}
catch (...)
{
nnc::CaffeImporterPass importer{filename};
try {
- importer.import();
- importer.createIR();
+ importer.importModel();
}
catch (nnc::PassException &e) {
ASSERT_EQ(std::string(ErrorMsg), e.what());
nnc::Caffe2ImporterPass importer{cli::inputFile, cli::initNet, {cli::inputShapes}};
try {
- importer.import();
IrDotDumper dotDumper;
- auto g = static_cast<Graph *>(importer.createIR());
+ auto g = static_cast<Graph *>(importer.importModel());
g->accept(&dotDumper);
dotDumper.writeDot(std::cout);
}
nnc::CaffeImporterPass importer{cli::inputFile};
try {
- importer.import();
IrDotDumper dotDumper;
- auto g = importer.createIR();
+ auto g = importer.importModel();
g->accept(&dotDumper);
dotDumper.writeDot(std::cout);
}