|
| 1 | +# BasicVSR C++部署示例 |
| 2 | + |
| 3 | +本目录下提供`infer.cc`快速完成BasicVSR在CPU/GPU,以及GPU上通过TensorRT加速部署的示例。 |
| 4 | + |
| 5 | +在部署前,需确认以下两个步骤 |
| 6 | + |
| 7 | +- 1. 软硬件环境满足要求,参考[FastDeploy环境要求](../../../../../docs/cn/build_and_install/download_prebuilt_libraries.md) |
| 8 | +- 2. 根据开发环境,下载预编译部署库和samples代码,参考[FastDeploy预编译库](../../../../../docs/cn/build_and_install/download_prebuilt_libraries.md) |
| 9 | +以Linux上BasicVSR推理为例,在本目录执行如下命令即可完成编译测试(如若只需在CPU上部署,可在[Fastdeploy C++预编译库](../../../../../docs/cn/build_and_install/download_prebuilt_libraries.md/CPP_prebuilt_libraries.md)下载CPU推理库) |
| 10 | + |
| 11 | +```bash |
| 12 | +#下载SDK,编译模型examples代码(SDK中包含了examples代码) |
| 13 | +# fastdeploy版本 >= 0.7.0 |
| 14 | +wget https://bj.bcebos.com/fastdeploy/release/cpp/fastdeploy-linux-x64-gpu-0.7.0.tgz |
| 15 | +tar xvf fastdeploy-linux-x64-gpu-0.7.0.tgz |
| 16 | +cd fastdeploy-linux-x64-gpu-0.7.0/examples/vision/sr/basicvsr/cpp/ |
| 17 | +mkdir build && cd build |
| 18 | +cmake .. -DFASTDEPLOY_INSTALL_DIR=${PWD}/../../../../../../../fastdeploy-linux-x64-gpu-0.7.0 |
| 19 | +make -j |
| 20 | + |
| 21 | +# 下载BasicVSR模型文件和测试视频 |
| 22 | +wget https://bj.bcebos.com/paddlehub/fastdeploy/BasicVSR_reds_x4.tar |
| 23 | +tar -xvf BasicVSR_reds_x4.tar |
| 24 | +wget https://bj.bcebos.com/paddlehub/fastdeploy/vsr_src.mp4 |
| 25 | + |
| 26 | + |
| 27 | +# CPU推理 |
| 28 | +./infer_demo BasicVSR_reds_x4 vsr_src.mp4 0 2 |
| 29 | +# GPU推理 |
| 30 | +./infer_demo BasicVSR_reds_x4 vsr_src.mp4 1 2 |
| 31 | +# GPU上TensorRT推理 |
| 32 | +./infer_demo BasicVSR_reds_x4 vsr_src.mp4 2 2 |
| 33 | +``` |
| 34 | + |
| 35 | +以上命令只适用于Linux或MacOS, Windows下SDK的使用方式请参考: |
| 36 | +- [如何在Windows中使用FastDeploy C++ SDK](../../../../../docs/cn/faq/use_sdk_on_windows.md) |
| 37 | + |
| 38 | +## BasicVSR C++接口 |
| 39 | + |
| 40 | +### BasicVSR类 |
| 41 | + |
| 42 | +```c++ |
| 43 | +fastdeploy::vision::sr::BasicVSR( |
| 44 | + const string& model_file, |
| 45 | + const string& params_file = "", |
| 46 | + const RuntimeOption& runtime_option = RuntimeOption(), |
| 47 | + const ModelFormat& model_format = ModelFormat::PADDLE) |
| 48 | +``` |
| 49 | +
|
| 50 | +BasicVSR模型加载和初始化,其中model_file为导出的Paddle模型格式。 |
| 51 | +
|
| 52 | +**参数** |
| 53 | +
|
| 54 | +> * **model_file**(str): 模型文件路径 |
| 55 | +> * **params_file**(str): 参数文件路径 |
| 56 | +> * **runtime_option**(RuntimeOption): 后端推理配置,默认为None,即采用默认配置 |
| 57 | +> * **model_format**(ModelFormat): 模型格式,默认为Paddle格式 |
| 58 | +
|
| 59 | +#### Predict函数 |
| 60 | +
|
| 61 | +> ```c++ |
| 62 | +> BasicVSR::Predict(std::vector<cv::Mat>& imgs, std::vector<cv::Mat>& results) |
| 63 | +> ``` |
| 64 | +> |
| 65 | +> 模型预测接口,输入图像直接输出检测结果。 |
| 66 | +> |
| 67 | +> **参数** |
| 68 | +> |
| 69 | +> > * **imgs**: 输入视频帧序列,注意需为HWC,BGR格式 |
| 70 | +> > * **results**: 视频超分结果,超分后的视频帧序列 |
| 71 | +
|
| 72 | +- [模型介绍](../../) |
| 73 | +- [Python部署](../python) |
| 74 | +- [如何切换模型推理后端引擎](../../../../../docs/cn/faq/how_to_change_backend.md) |
0 commit comments