返回模型
说明文档
模型描述
SESR 基于 CNN 的线性过参数化,为 SISR(单图像超分辨率)创建了一种高效的模型架构。该模型在论文 Collapsible Linear Blocks for Super-Efficient Super Resolution 中提出。 该工作的官方代码可在以下地址找到: https://github.com/ARM-software/sesr
我们开发了一个修改版本,可由 AMD Ryzen AI 支持。
预期用途与限制
您可以使用原始模型进行超分辨率处理。请查看 模型中心 以浏览所有可用模型。
使用方法
安装
按照 Ryzen AI 安装指南 准备 Ryzen AI 的运行环境。 运行以下脚本安装此模型的依赖项。
pip install -r requirements.txt
数据准备(可选:用于精度评估)
- 下载 benchmark(https://cv.snu.ac.kr/research/EDSR/benchmark.tar) 数据集。
- 按照以下结构组织数据集目录:
└── dataset
└── benchmark
├── Set5
├── HR
| ├── baby.png
| ├── ...
└── LR_bicubic
└──X2
├──babyx2.png
├── ...
├── Set14
├── ...
测试与评估
- 来自
one_image_inference.py的使用示例代码片段
parser = argparse.ArgumentParser(description='EDSR and MDSR')
parser.add_argument('--onnx_path', type=str, default='SESR_int8.onnx',
help='onnx path')
parser.add_argument('--image_path', default='test_data/test.png',
help='path of your image')
parser.add_argument('--output_path', default='test_data/sr.png',
help='path of your image')
parser.add_argument('--ipu', action='store_true',
help='use ipu')
parser.add_argument('--provider_config', type=str, default=None,
help='provider config path')
args = parser.parse_args()
if args.ipu:
providers = [\"VitisAIExecutionProvider\"]
provider_options = [{\"config_file\": args.provider_config}]
else:
providers = ['CUDAExecutionProvider', 'CPUExecutionProvider']
provider_options = None
onnx_file_name = args.onnx_path
image_path = args.image_path
output_path = args.output_path
ort_session = onnxruntime.InferenceSession(onnx_file_name, providers=providers, provider_options=provider_options)
lr = cv2.imread(image_path)[np.newaxis,:,:,:].transpose((0,3,1,2)).astype(np.float32)
sr = tiling_inference(ort_session, lr, 8, (56, 56))
sr = np.clip(sr, 0, 255)
sr = sr.squeeze().transpose((1,2,0)).astype(np.uint8)
sr = cv2.imwrite(output_path, sr)
- 对单张图像运行推理
python one_image_inference.py --onnx_path SESR_int8.onnx --image_path /Path/To/Your/Image --ipu --provider_config Path/To/vaip_config.json
注意:vaip_config.json 位于 Ryzen AI 的安装包中(请参考 安装)
- 测试量化模型的精度
python test.py --onnx_path SESR_int8.onnx --data_test Set5 --ipu --provider_config Path/To/vaip_config.json
性能
| 方法 | 缩放倍数 | Flops | Set5 |
|---|---|---|---|
| SESR-S (float) | X2 | 10.22G | 37.21 |
| SESR-S (INT8) | X2 | 10.22G | 36.81 |
- 注意:Flops 是在输入分辨率为 256x256 时计算的
@misc{bhardwaj2022collapsible,
title={Collapsible Linear Blocks for Super-Efficient Super Resolution},
author={Kartikeya Bhardwaj and Milos Milosavljevic and Liam O'Neil and Dibakar Gope and Ramon Matas and Alex Chalfin and Naveen Suda and Lingchuan Meng and Danny Loh},
year={2022},
eprint={2103.09404},
archivePrefix={arXiv},
primaryClass={eess.IV}
}
amd/sesr
作者 amd
↓ 0
♥ 4
创建时间: 2023-12-04 16:30:22+00:00
更新时间: 2026-01-22 15:24:44+00:00
在 Hugging Face 上查看文件 (16)
.gitattributes
README.md
README_ben.md
SESR_int8.onnx
ONNX
data/__init__.py
data/benchmark.py
data/common.py
data/data_tiling.py
data/srdata.py
metric.py
one_image_inference.py
option.py
requirements.txt
test.py
test_data/test.png
utility.py