Add AMD support via ort alternative to trt
This commit is contained in:
@@ -6,10 +6,10 @@
|
||||
// of a fresh CLI invocation per image, which would reload both ONNX sessions
|
||||
// every time.
|
||||
|
||||
#include "arcface_embedder.hpp"
|
||||
#include "config.hpp"
|
||||
#include "face_utils.hpp"
|
||||
#include "ort_provider.hpp"
|
||||
#include "scrfd_decoder.hpp"
|
||||
#include "inference/face_detector.hpp"
|
||||
#include "inference/face_embedder.hpp"
|
||||
#include "types.hpp"
|
||||
|
||||
#include <opencv2/imgcodecs.hpp>
|
||||
@@ -37,11 +37,13 @@ public:
|
||||
float conf = 0.5f, float nms = 0.4f, int max_side = 500)
|
||||
: max_side_(max_side)
|
||||
{
|
||||
const OrtProvider provider = detect_ort_provider();
|
||||
std::cerr << "[FaceEmbedderEngine] inference provider: "
|
||||
<< provider_name(provider) << "\n";
|
||||
detector_ = std::make_unique<SCRFDDecoder>(detector_model, conf, nms, provider);
|
||||
embedder_ = std::make_unique<ArcFaceEmbedder>(arcface_model, provider);
|
||||
Config cfg;
|
||||
cfg.detector_model = detector_model;
|
||||
cfg.arcface_model = arcface_model;
|
||||
cfg.detector_conf = conf;
|
||||
cfg.detector_nms = nms;
|
||||
detector_ = make_face_detector(cfg);
|
||||
embedder_ = make_face_embedder(cfg);
|
||||
}
|
||||
|
||||
FaceEmbedResult embed_path(const std::string& path) const {
|
||||
@@ -104,7 +106,7 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
std::unique_ptr<SCRFDDecoder> detector_;
|
||||
std::unique_ptr<ArcFaceEmbedder> embedder_;
|
||||
std::unique_ptr<IFaceDetector> detector_;
|
||||
std::unique_ptr<IFaceEmbedder> embedder_;
|
||||
int max_side_;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user