From cb86440a298f3522321e16241b50c1ba9097b6b1 Mon Sep 17 00:00:00 2001 From: yangfei Date: Thu, 18 Oct 2018 16:48:37 +0800 Subject: [PATCH] add some function --- src/operators/kernel/fpga/feed_kernel.cpp | 74 +++++++++++------------ 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/src/operators/kernel/fpga/feed_kernel.cpp b/src/operators/kernel/fpga/feed_kernel.cpp index c42f3345ea..161d8c9f0c 100644 --- a/src/operators/kernel/fpga/feed_kernel.cpp +++ b/src/operators/kernel/fpga/feed_kernel.cpp @@ -15,41 +15,41 @@ limitations under the License. */ #include "operators/kernel/feed_kernel.h" namespace paddle_mobile { - namespace operators { - - template <> - bool FeedKernel::Init(FeedParam *param) { - Tensor *output = param->Out(); - fpga::format_fp16_ofm(output); - return true; - } - - template <> - void FeedKernel::Compute(const FeedParam ¶m) { - auto input = reinterpret_cast(const_cast(param.InputX())); - auto input_ptr = input->data(); - fpga::format_image(input); - Tensor *output = param.Out(); - auto output_ptr = output->data(); - - fpga::BypassArgs args = {fpga::DATA_TYPE_FP32}; - - args.input_data_type = fpga::DATA_TYPE_FP32; - args.output_data_type = fpga::DATA_TYPE_FP16; - args.input_layout_type = fpga::LAYOUT_CHW; - args.output_layout_type = fpga::LAYOUT_HWC; - args.image.address = reinterpret_cast(input_ptr); - args.image.channels = (uint32_t)input->dims()[1]; - args.image.height = (uint32_t)input->dims()[2]; - args.image.width = (uint32_t)input->dims()[3]; - args.image.pad_height = 0; - args.image.pad_width = 0; - args.output.address = output_ptr; - args.output.scale_address = output->scale; - fpga::PerformBypass(args); - } - template class FeedKernel; - - } // namespace operators +namespace operators { + +template <> +bool FeedKernel::Init(FeedParam *param) { + Tensor *output = param->Out(); + fpga::format_fp16_ofm(output); + return true; +} + +template <> +void FeedKernel::Compute(const FeedParam ¶m) { + auto input = + reinterpret_cast(const_cast(param.InputX())); + auto input_ptr = input->data(); + fpga::format_image(input); + Tensor *output = param.Out(); + auto output_ptr = output->data(); + + fpga::BypassArgs args = {fpga::DATA_TYPE_FP32}; + + args.input_data_type = fpga::DATA_TYPE_FP32; + args.output_data_type = fpga::DATA_TYPE_FP16; + args.input_layout_type = fpga::LAYOUT_CHW; + args.output_layout_type = fpga::LAYOUT_HWC; + args.image.address = reinterpret_cast(input_ptr); + args.image.channels = (uint32_t)input->dims()[1]; + args.image.height = (uint32_t)input->dims()[2]; + args.image.width = (uint32_t)input->dims()[3]; + args.image.pad_height = 0; + args.image.pad_width = 0; + args.output.address = output_ptr; + args.output.scale_address = output->scale; + fpga::PerformBypass(args); +} +template class FeedKernel; + +} // namespace operators } // namespace paddle_mobile - -- GitLab