#pragma once #include "struct.h" #include "module.h" #include "IPoolingLayerRT.h" namespace fastrt { class ModuleFactory { public: ModuleFactory() = default; ~ModuleFactory() = default; std::unique_ptr createBackbone(FastreidConfig& modelCfg); std::unique_ptr createHead(FastreidConfig& modelCfg); }; class LayerFactory { public: LayerFactory() = default; ~LayerFactory() = default; std::unique_ptr createPoolingLayer(const FastreidPoolingType& pooltype); }; }