1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
#include "caffe2/onnx/backend_rep.h"
#include "caffe2/core/common.h"
#include <iostream>
namespace caffe2 {
namespace onnx {
void Caffe2BackendRep::CheckInit() {
if (!predictor_) {
predictor_ = std::make_unique<caffe2::Predictor>(
makePredictorConfig(init_net_, pred_net_));
init_net_.Clear();
pred_net_.Clear();
}
}
void Caffe2BackendRep::Run(
const caffe2::Predictor::TensorList& inputs,
caffe2::Predictor::TensorList* outputs) {
CheckInit();
(*predictor_)(inputs, outputs);
}
void Caffe2BackendRep::RunMap(
const caffe2::Predictor::TensorMap& inputs,
caffe2::Predictor::TensorList* outputs) {
CheckInit();
(*predictor_)(inputs, outputs);
}
} // namespace onnx
} // namespace caffe2
|