mirror of https://github.com/alibaba/MNN.git
				
				
				
			
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
| //
 | |
| //  VulkanNormalize.hpp
 | |
| //  MNN
 | |
| //
 | |
| //  Created by MNN on 2019/01/31.
 | |
| //  Copyright © 2018, Alibaba Group Holding Limited
 | |
| //
 | |
| 
 | |
| #ifndef VulkanNormalize_hpp
 | |
| #define VulkanNormalize_hpp
 | |
| #include "VulkanBasicExecution.hpp"
 | |
| 
 | |
| namespace MNN {
 | |
| class VulkanNormalize : public VulkanBasicExecution {
 | |
| public:
 | |
|     VulkanNormalize(const Op* op, Backend* bn);
 | |
|     virtual ~VulkanNormalize();
 | |
|     ErrorCode onEncode(const std::vector<Tensor*>& inputs, const std::vector<Tensor*>& outputs,
 | |
|                        const VulkanCommandPool::Buffer* cmdBuffer) override;
 | |
| 
 | |
| private:
 | |
|     std::shared_ptr<VulkanBuffer> mParamBuffer;
 | |
|     const VulkanPipeline* mVulkanNormalizePipeline;
 | |
|     const VulkanPipeline* mVulkanScalePipeline;
 | |
|     std::shared_ptr<VulkanPipeline::DescriptorSet> mNormalizeDescriptorSet;
 | |
|     std::shared_ptr<VulkanPipeline::DescriptorSet> mScaleDescriptorSet;
 | |
|     std::shared_ptr<VulkanBuffer> mScale;
 | |
|     std::shared_ptr<VulkanBuffer> mBias;
 | |
|     float mEps;
 | |
|     Tensor mTempTensor;
 | |
|     const VulkanSampler* mSampler;
 | |
|     const VulkanBackend* mVkBackend;
 | |
| };
 | |
| } // namespace MNN
 | |
| 
 | |
| #endif
 |