factory.h 584 Bytes
Newer Older
dengjb's avatar
update  
dengjb committed
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
#pragma once

#include "struct.h"
#include "module.h"
#include "IPoolingLayerRT.h"

namespace fastrt {
    
    class ModuleFactory {
    public:
        ModuleFactory() = default;
        ~ModuleFactory() = default;

        std::unique_ptr<Module> createBackbone(FastreidConfig& modelCfg);
        std::unique_ptr<Module> createHead(FastreidConfig& modelCfg);
    };

    class LayerFactory {
    public:
        LayerFactory() = default;
        ~LayerFactory() = default;

        std::unique_ptr<IPoolingLayerRT> createPoolingLayer(const FastreidPoolingType& pooltype);
    };

}