Classifier.h 1019 Bytes
Newer Older
liucong's avatar
liucong committed
1
2
3
4
#ifndef __CLASSIFIER_H__
#define __CLASSIFIER_H__

#include <migraphx/program.hpp>
liucong's avatar
liucong committed
5

liucong's avatar
liucong committed
6
7
8
9
10
#include <CommonDefinition.h>

namespace migraphxSamples
{

liucong's avatar
liucong committed
11
class Classifier
liucong's avatar
liucong committed
12
{
liucong's avatar
liucong committed
13
    public:
liucong's avatar
liucong committed
14
    Classifier();
liucong's avatar
liucong committed
15

liucong's avatar
liucong committed
16
17
18
19
    ~Classifier();

    ErrorCode Initialize(InitializationParameterOfClassifier initializationParameterOfClassifier);

liucong's avatar
liucong committed
20
    cv::Mat Preprocess(const std::vector<cv::Mat>& srcImages);
21

liucong's avatar
liucong committed
22
23
    ErrorCode Classify(const std::vector<cv::Mat>& srcImages,
                       std::vector<std::vector<ResultOfPrediction>>& predictions);
liucong's avatar
liucong committed
24

liucong's avatar
liucong committed
25
    private:
liucong's avatar
liucong committed
26
    cv::FileStorage configurationFile;
liucong's avatar
liucong committed
27

liucong's avatar
liucong committed
28
29
30
31
    migraphx::program net;
    cv::Size inputSize;
    std::string inputName;
    migraphx::shape inputShape;
32
33
34
35
    std::string outputName;
    migraphx::shape outputShape;
    std::unordered_map<std::string, migraphx::argument> programParameters;

liucong's avatar
liucong committed
36
37
38
    void* inputBuffer_Device;
    void* outputBuffer_Device;
    void* outputBuffer_Host;
liucong's avatar
liucong committed
39
40

    bool useInt8;
liucong's avatar
liucong committed
41
    bool useFP16;
liucong's avatar
liucong committed
42
    bool useoffloadcopy;
liucong's avatar
liucong committed
43
44
};

liucong's avatar
liucong committed
45
} // namespace migraphxSamples
liucong's avatar
liucong committed
46
47

#endif