Classifier.h 974 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
11
12
13
14
15
16
17
18
19
#include <CommonDefinition.h>

namespace migraphxSamples
{

class  Classifier
{
public:
    Classifier();
    
    ~Classifier();

    ErrorCode Initialize(InitializationParameterOfClassifier initializationParameterOfClassifier);

20
21
    cv::Mat Preprocess(const std::vector<cv::Mat> &srcImages);

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

private:
    cv::FileStorage configurationFile;
    
    migraphx::program net;
    cv::Size inputSize;
    std::string inputName;
    migraphx::shape inputShape;
31
32
33
34
35
36
37
    std::string outputName;
    migraphx::shape outputShape;
    std::unordered_map<std::string, migraphx::argument> programParameters;

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

    bool useInt8;
liucong's avatar
liucong committed
40
    bool useFP16;
liucong's avatar
liucong committed
41
    bool useoffloadcopy;
liucong's avatar
liucong committed
42
    
liucong's avatar
liucong committed
43
44
45
46
47
48
49

};

}

#endif