From 2ac7d204513bfefd72275a8e1992a5613005313b Mon Sep 17 00:00:00 2001 From: Lwen1243 <1198807618@qq.com> Date: Fri, 5 Jun 2026 17:40:54 +0800 Subject: [PATCH 1/4] adding hgnetv2 --- .../hgnetv2/conversion/onnx_export/.DS_Store | Bin 0 -> 6148 bytes .../onnx_export/export_hgnetv2_b0_bpu.py | 22 ++++++++++++++++++ .../onnx_export/export_hgnetv2_b1_bpu.py | 22 ++++++++++++++++++ .../onnx_export/export_hgnetv2_b2_bpu.py | 22 ++++++++++++++++++ .../onnx_export/export_hgnetv2_b3_bpu.py | 22 ++++++++++++++++++ .../onnx_export/export_hgnetv2_b4_bpu.py | 22 ++++++++++++++++++ 6 files changed, 110 insertions(+) create mode 100644 samples/vision/hgnetv2/conversion/onnx_export/.DS_Store create mode 100644 samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b0_bpu.py create mode 100644 samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b1_bpu.py create mode 100644 samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b2_bpu.py create mode 100644 samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b3_bpu.py create mode 100644 samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b4_bpu.py diff --git a/samples/vision/hgnetv2/conversion/onnx_export/.DS_Store b/samples/vision/hgnetv2/conversion/onnx_export/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..edbea2b63658a252485b4e0685f9fdad28b4030b GIT binary patch literal 6148 zcmeHK!A`?441F#`8sf6!ju9U)G2jELY8*K80iePJhlx&zA-Lrm_!NE+p5tiRR94Xg z2q9Z?Uh3FR`m)st0I62DQ(y#ONL4Hj*nA;6uG*3!TlR^Pay;S*SGdO=9$MaR_=^na z-i zRqj}y9QDq3+Oz(hcD_^1iqfP$!=;91G1J1yYGQgUxGCVZ&)){aHoPjk1`h5sg z#WG_wOrH)mdUVn8fuaigdL&c~8Ow~(kRueaP@;uOzG8@l(;l*4nK2q#I3&%?Jb7lx zHxx;;(;kvLq%`!_8E^)+8Q8POk=Fn7-S_|PAb)ZOoPmGEfDC4rvx={jYisM}wAKdd qHC09ZqTxD(om7hHtEG5MO+tIn4zbJ_4QZkHK_JoKjWh78415Bwm~93C literal 0 HcmV?d00001 diff --git a/samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b0_bpu.py b/samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b0_bpu.py new file mode 100644 index 0000000..7267ca2 --- /dev/null +++ b/samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b0_bpu.py @@ -0,0 +1,22 @@ +import timm +import torch + +# 1. 加载模型并设置为推理模式 +model = timm.create_model('hgnetv2_b0.ssld_stage2_ft_in1k', pretrained=True) +model.eval() + +# 2. 创建示例输入 (batch_size=1, 3个颜色通道, 图像尺寸224x224) +dummy_input = torch.randn(1, 3, 224, 224) + +# 4. 导出模型 +torch.onnx.export( + model, + dummy_input, + "hgnetv2_b0.onnx", + input_names=['input'], + output_names=['output'], + opset_version=11, + dynamo=False +) + +print("模型已成功导出为 hgnetv2_b0.onnx") \ No newline at end of file diff --git a/samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b1_bpu.py b/samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b1_bpu.py new file mode 100644 index 0000000..5f80302 --- /dev/null +++ b/samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b1_bpu.py @@ -0,0 +1,22 @@ +import timm +import torch + +# 1. 加载模型并设置为推理模式 +model = timm.create_model('hgnetv2_b1.ssld_stage2_ft_in1k', pretrained=True) +model.eval() + +# 2. 创建示例输入 (batch_size=1, 3个颜色通道, 图像尺寸224x224) +dummy_input = torch.randn(1, 3, 224, 224) + +# 4. 导出模型 +torch.onnx.export( + model, + dummy_input, + "hgnetv2_b1.onnx", + input_names=['input'], + output_names=['output'], + opset_version=11, + dynamo=False +) + +print("模型已成功导出为 hgnetv2_b1.onnx") \ No newline at end of file diff --git a/samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b2_bpu.py b/samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b2_bpu.py new file mode 100644 index 0000000..0036c4f --- /dev/null +++ b/samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b2_bpu.py @@ -0,0 +1,22 @@ +import timm +import torch + +# 1. 加载模型并设置为推理模式 +model = timm.create_model('hgnetv2_b2.ssld_stage2_ft_in1k', pretrained=True) +model.eval() + +# 2. 创建示例输入 (batch_size=1, 3个颜色通道, 图像尺寸224x224) +dummy_input = torch.randn(1, 3, 224, 224) + +# 4. 导出模型 +torch.onnx.export( + model, + dummy_input, + "hgnetv2_b2.onnx", + input_names=['input'], + output_names=['output'], + opset_version=11, + dynamo=False +) + +print("模型已成功导出为 hgnetv2_b2.onnx") \ No newline at end of file diff --git a/samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b3_bpu.py b/samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b3_bpu.py new file mode 100644 index 0000000..7334db9 --- /dev/null +++ b/samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b3_bpu.py @@ -0,0 +1,22 @@ +import timm +import torch + +# 1. 加载模型并设置为推理模式 +model = timm.create_model('hgnetv2_b3.ssld_stage2_ft_in1k', pretrained=True) +model.eval() + +# 2. 创建示例输入 (batch_size=1, 3个颜色通道, 图像尺寸224x224) +dummy_input = torch.randn(1, 3, 224, 224) + +# 4. 导出模型 +torch.onnx.export( + model, + dummy_input, + "hgnetv2_b3.onnx", + input_names=['input'], + output_names=['output'], + opset_version=11, + dynamo=False +) + +print("模型已成功导出为 hgnetv2_b3.onnx") \ No newline at end of file diff --git a/samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b4_bpu.py b/samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b4_bpu.py new file mode 100644 index 0000000..437835e --- /dev/null +++ b/samples/vision/hgnetv2/conversion/onnx_export/export_hgnetv2_b4_bpu.py @@ -0,0 +1,22 @@ +import timm +import torch + +# 1. 加载模型并设置为推理模式 +model = timm.create_model('hgnetv2_b4.ssld_stage2_ft_in1k', pretrained=True) +model.eval() + +# 2. 创建示例输入 (batch_size=1, 3个颜色通道, 图像尺寸224x224) +dummy_input = torch.randn(1, 3, 224, 224) + +# 4. 导出模型 +torch.onnx.export( + model, + dummy_input, + "hgnetv2_b4.onnx", + input_names=['input'], + output_names=['output'], + opset_version=11, + dynamo=False +) + +print("模型已成功导出为 hgnetv2_b4.onnx") \ No newline at end of file From 66de4fe24090b24643e78a1505a435130fb0e0ba Mon Sep 17 00:00:00 2001 From: Lwen1243 <1198807618@qq.com> Date: Fri, 5 Jun 2026 17:42:23 +0800 Subject: [PATCH 2/4] adding hgnetv2 --- samples/vision/.DS_Store | Bin 0 -> 10244 bytes samples/vision/hgnetv2/.DS_Store | Bin 0 -> 8196 bytes samples/vision/hgnetv2/README.md | 0 samples/vision/hgnetv2/README_cn.md | 99 ++ samples/vision/hgnetv2/conversion/.DS_Store | Bin 0 -> 8196 bytes samples/vision/hgnetv2/conversion/README.md | 48 + .../vision/hgnetv2/conversion/README_cn.md | 47 + .../vision/hgnetv2/conversion/hgnetv2_b0.yaml | 46 + .../vision/hgnetv2/conversion/hgnetv2_b1.yaml | 45 + .../vision/hgnetv2/conversion/hgnetv2_b2.yaml | 45 + .../vision/hgnetv2/conversion/hgnetv2_b3.yaml | 45 + .../vision/hgnetv2/conversion/hgnetv2_b4.yaml | 45 + samples/vision/hgnetv2/evaluator/README.md | 0 samples/vision/hgnetv2/evaluator/README_cn.md | 49 + samples/vision/hgnetv2/evaluator/eval.py | 230 ++++ samples/vision/hgnetv2/evaluator/hgnetv2.py | 232 ++++ samples/vision/hgnetv2/model/README.md | 0 samples/vision/hgnetv2/model/README_cn.md | 0 .../vision/hgnetv2/runtime/python/README.md | 57 + .../hgnetv2/runtime/python/README_cn.md | 59 + .../vision/hgnetv2/runtime/python/hgnetv2.py | 232 ++++ samples/vision/hgnetv2/runtime/python/main.py | 117 ++ samples/vision/hgnetv2/runtime/python/run.sh | 8 + .../vision/hgnetv2/test_data/classname.txt | 1000 +++++++++++++++++ samples/vision/hgnetv2/test_data/result.jpg | Bin 0 -> 98452 bytes samples/vision/hgnetv2/test_data/sandbar.JPEG | Bin 0 -> 107694 bytes 26 files changed, 2404 insertions(+) create mode 100644 samples/vision/.DS_Store create mode 100644 samples/vision/hgnetv2/.DS_Store create mode 100644 samples/vision/hgnetv2/README.md create mode 100644 samples/vision/hgnetv2/README_cn.md create mode 100644 samples/vision/hgnetv2/conversion/.DS_Store create mode 100644 samples/vision/hgnetv2/conversion/README.md create mode 100644 samples/vision/hgnetv2/conversion/README_cn.md create mode 100644 samples/vision/hgnetv2/conversion/hgnetv2_b0.yaml create mode 100644 samples/vision/hgnetv2/conversion/hgnetv2_b1.yaml create mode 100644 samples/vision/hgnetv2/conversion/hgnetv2_b2.yaml create mode 100644 samples/vision/hgnetv2/conversion/hgnetv2_b3.yaml create mode 100644 samples/vision/hgnetv2/conversion/hgnetv2_b4.yaml create mode 100644 samples/vision/hgnetv2/evaluator/README.md create mode 100644 samples/vision/hgnetv2/evaluator/README_cn.md create mode 100644 samples/vision/hgnetv2/evaluator/eval.py create mode 100644 samples/vision/hgnetv2/evaluator/hgnetv2.py create mode 100644 samples/vision/hgnetv2/model/README.md create mode 100644 samples/vision/hgnetv2/model/README_cn.md create mode 100644 samples/vision/hgnetv2/runtime/python/README.md create mode 100644 samples/vision/hgnetv2/runtime/python/README_cn.md create mode 100644 samples/vision/hgnetv2/runtime/python/hgnetv2.py create mode 100644 samples/vision/hgnetv2/runtime/python/main.py create mode 100644 samples/vision/hgnetv2/runtime/python/run.sh create mode 100644 samples/vision/hgnetv2/test_data/classname.txt create mode 100644 samples/vision/hgnetv2/test_data/result.jpg create mode 100644 samples/vision/hgnetv2/test_data/sandbar.JPEG diff --git a/samples/vision/.DS_Store b/samples/vision/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0fa07f2cd6b47e99b0f6084206ed935d2833ec49 GIT binary patch literal 10244 zcmeHNL2nyH6n^8n@tP#fCQV8aAX)VVsZmMOG^pZ$>!d;vLW$z2O_a3m+TOTJH#=r` z?KDI|KEsU*H!l1DBu*UR2f&dlNZb(@&f%MxwY$6Cv^gOvW~|*eJM+GodEd;u@mrgS zShd@_NmL>t1DBBI1a28g)Qf8*<)V@@BmF!X;!Sl6@tm>%dKh0FZeU%Y?lA>JM2G1(20U_LW2l z5>rq}1!Yl)!J^24DLCpYk$zuE1t%tZMmtf@EQ(NA6nLw?scQI<6Ch3k$!p+=cwbv4T-B#*K%yC;YG$T46V+TK=wh+Tz@84Dwdv zzGENO&Dj<1g_h&lz63Ze8!CGb9IwR>tGw&A0*S4u3ZrNg>*m$tzWl53KslGzWGS zUmKs8yfkG_&s?6Kot~SUyYl+gH)h^^t8QLySk0$xUyOH!yWFq3UAt~h1+aRp$-NEV z?!nsa(0&%yoX=1-lLBnotw+y`wvIZ`nSEX$8~xC?ZEv^jJFWHo{lE^lWBDD?Thr&R zyTJn|bhx*(CwmX=gEeoTqen4<^^T|t?%RF<7+aoQif#FExH3)+IEUd@!v?yU+@OSQe-2d2 zor&##4%Dq=U&0xj1GSVy35SqC6%%%eL&8oW;1m*wF^Onpx;??#=P}lbv;jxi!bh;S zPAjyTY+W*zL~PPMtcO+l81e@CY9$eptvJHK4BD8-He4HAX4-j6p5pprk$w+|cCu~B zPPXpIp&$;EgsrOG;7nfrjPX*CV^F%8$1#g*o74q=Autx?5pv?74XBPhM+r|_AsLF} zXI_SpuqQ_rH#<7jj>HWW%K_Nk%=qNzlO7(~(0 z?g)28S7Sq=q61NMAbMn?BNQS>N1h|yfw&4yX%sLDbSofY_kJkKh`rt#zb^*7SO|Cl z?P5!1Fi-EwgtdJ*g{`QnIqwVAz>ngYnJ*;K(|hP}pVem#Sa)*|_*O3V;#!pP!gcYq z!g)|=*1f`QpKj&tv1^>gp3i6~34V#9%f=m_mH1YM*H|f%+?+C4Nh_JRQ`_6KGjmhU zh4~9RQ_lAM>>oHXcy!1f9vK}T8y+7YKXyEIV&vqhyggd*ijT^nnDsRt@Guk9Xx<)*aP5ml z&Xz-3$2G6U^huoapP^}_gOH`Adw-f%o>tLk>`#O2^hQW2TQ7%xX=!saqVZ}=eNBv3 z40#YN^T>~V&ek^M=rOGaA zBwU3YY`|k^z${76>;+A&Jl;hjW3iXZf1 z$m2T1s=aoGJQiNJ91B7!c>^Ol*qeBEH8vDt3np{_OBqaI6gV&ideq1%5&vJueQUl0 z9N14`1~v*Dm;$7CA-5o2@YU7aJrD8r;b6XxStQ}tP$(%_2p7>V!*Rsle;8uj(Kc6O TLm^r)nHK>mgDH#xe^r5Bg8wdS literal 0 HcmV?d00001 diff --git a/samples/vision/hgnetv2/README.md b/samples/vision/hgnetv2/README.md new file mode 100644 index 0000000..e69de29 diff --git a/samples/vision/hgnetv2/README_cn.md b/samples/vision/hgnetv2/README_cn.md new file mode 100644 index 0000000..77160f6 --- /dev/null +++ b/samples/vision/hgnetv2/README_cn.md @@ -0,0 +1,99 @@ +[English](./README.md) | 简体中文 + +# HGNetV2 模型说明 + +本目录给出 HGNetV2 sample 在 Model Zoo 中的完整使用说明,包括算法概览、模型转换、运行时推理、模型文件管理和评测说明。 + +## 算法介绍 + +HGNetV2 是一款专为在 NVIDIA GPU 上实现精度与延迟的最佳平衡而设计的下一代卷积神经网络(CNN)骨干网络。基于原始的 HGNet,HGNetV2 在保持高精度的同时实现了快速的推理速度,并在图像分类、目标检测和分割等任务中表现出色,因此成为基于 GPU 的计算机视觉应用的理想选择。 + +- **详细介绍**: [docs/zh_CN/models/ImageNet1k/PP-HGNetV2.md](https://github.com/PaddlePaddle/PaddleClas/blob/develop/docs/zh_CN/models/ImageNet1k/PP-HGNetV2.md) + +### 算法功能 + +HGNetV2 支持以下任务: + +- ImageNet 1000 类图像分类 + +### 算法特点 + +- **聚合多种感受野**:HG-Block 结合了多尺度特征,能够捕获从浅层到深层、不同大小的特征信息,对小物体的检测和识别友好。 +- **更优的 Stem 模块**:改进了网络的初始预处理层,堆叠了更多的 \(2 \times 2\) 卷积核以学习丰富的局部特征,同时使用更小的通道数,提升了大分辨率任务的性能。 +- **可学习的下采样(LDS)**:融合了能够自适应调整的下采样层,在减少计算冗余的同时保留了更多有用的空间细节. + +## 目录结构 + +```text +. +|-- conversion +| |-- HGNetV2_medium.yaml +| |-- HGNetV2_small.yaml +| |-- README.md +| `-- README_cn.md +|-- evaluator +| |-- README.md +| `-- README_cn.md +|-- model +| |-- download.sh +| |-- README.md +| `-- README_cn.md +|-- runtime +| `-- python +| |-- main.py +| |-- HGNetV2.py +| |-- README.md +| |-- README_cn.md +| `-- run.sh +|-- test_data +| |-- sandbar.JPEG +| |-- classname.txt +| `-- result.png +|-- README.md +`-- README_cn.md +``` + +## 快速体验 + +### Python + +- Python 详细说明请参考 [runtime/python/README_cn.md](./runtime/python/README_cn.md)。 +- 快速体验命令: + +```bash +cd runtime/python +bash run.sh +``` + +## 模型转换 + +- 预编译 `.bin` 模型通过 [model](./model/README_cn.md) 目录提供。 +- 转换说明请参考 [conversion/README_cn.md](./conversion/README_cn.md)。 + +## 模型推理 + +本 sample 当前维护的推理路径为 Python。 + +- Python 推理说明: [runtime/python/README_cn.md](./runtime/python/README_cn.md) + +## 模型评估 + +评测说明、性能数据和验证结果请参考 [evaluator/README_cn.md](./evaluator/README_cn.md)。 + +## 性能数据 + +下表为 `RDK X5` 上发布的 HGNetV2 性能数据。 + +| 模型 | 输入尺寸 | 参数量 (M) | 浮点 Top-1 | 量化 Top-1 | 单线程时延 (ms) | 多线程时延 (ms) | FPS | +| --- | --- | --- | --- | --- | --- | --- | --- | +| HGNetv2_b0 | 224x224 | 6.0 | 77.342 | 72.17 | 1.96 | 3.29 | 902.09 | +| HGNetv2_b1 | 224x224 | 6.34 | 78.872 | 73.47 | 2.41 | 3.60 | 760.13 | +| HGNetv2_b2 | 224x224 | 11.2 | 81.578 | 73.57 | 1.87 | 5.30 | 743.56 | +| HGNetv2_b3 | 224x224 | 16.3 | 82.916 | 71.25 | 1.71 | 4.47 | 881.19 | +| HGNetv2_b4 | 224x224 | 19.8 | 83.694 | 72.25 | 1.55 | 4.08 | 964.69 | + +![推理结果](./test_data/result.jpg) + +## License + +遵循 Model Zoo 顶层 License。 diff --git a/samples/vision/hgnetv2/conversion/.DS_Store b/samples/vision/hgnetv2/conversion/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b74be2582d54a542fd9cbe8ef770a7c11030db44 GIT binary patch literal 8196 zcmeHMO-~a+7=EXqYz1Wb6r(1My_i6-e25_)ECphSF%U`+0$6t2p{y)3b$9uako2rK zFW$WP157-5)E}TnubTJ=ym-cUKFW8Ko{YwMlbPq;dEaMd=h^H`XA1x%vsvf|=mr1_ zi$J>(t8+}mMLAzTvO>9ZU?qQFI`BWTHDZptFm9!z#gi`j)?{5_`Dl| zqh<_t@OuZvx`fvOL?_jX1+}rJ7;%{aTYlqqk$xN1&S$4k3Cl4+Zn#e3Zdj?Rltf{@tobg zw>OX)?oAAh4DI(O_C^L$=noF>@5imqB<#F8x`?8AZ~x ziX_tyb&3T&FbY{%f@e^M*YFnJ!6*0vKj0S}kY>_FZjv6-OYV@nBuz%i3|S;A#34@= zKUR6 标签) + gt_map = load_ground_truth_csv(args.val_csv) + + # 初始化模型 + config = HGNetV2Config( + model_path=args.model_path, + label_file=args.label_file if args.label_file else "", + resize_type=args.resize_type, + topk=args.topk, + ) + model = HGNetV2(config) + model.set_scheduling_params(priority=args.priority, bpu_cores=args.bpu_cores) + + # 收集所有图像及其相对路径 + images = collect_images_with_relative_paths(args.image_path) + if args.limit > 0: + images = images[:args.limit] + + total_imgs = len(images) + logger.info(f"Will evaluate up to {total_imgs} images") + + # 统计 + matched = 0 + total_cnt = 0 + top1_cnt = 0 + top5_cnt = 0 + t_start = time() + + for idx, (rel_path, abs_path) in enumerate(images): + if (idx + 1) % 100 == 0: + fps = (idx + 1) / (time() - t_start) + logger.info(f"Processed {idx + 1}/{total_imgs} - {fps:.1f} FPS") + + # 查找 ground truth + truth_label = gt_map.get(rel_path) + if truth_label is None: + logger.debug(f"No ground truth for {rel_path}, skipping") + continue + matched += 1 + + img = cv2.imread(abs_path) + if img is None: + logger.error(f"Failed to read image: {abs_path}") + continue + + try: + topk_idx, topk_prob, _ = model.predict(img) + pred_ids = topk_idx.tolist() + except Exception as e: + logger.error(f"Error processing {rel_path}: {e}") + continue + + total_cnt += 1 + if truth_label == pred_ids[0]: + top1_cnt += 1 + top5_cnt += 1 + elif truth_label in pred_ids: + top5_cnt += 1 + + elapsed = time() - t_start + top1_acc = top1_cnt / total_cnt if total_cnt else 0.0 + top5_acc = top5_cnt / total_cnt if total_cnt else 0.0 + fps = total_cnt / elapsed if elapsed else 0.0 + + summary = { + "date": datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "model": args.model_path, + "image_root": args.image_path, + "csv_file": args.val_csv, + "total_images_scanned": total_imgs, + "matched_to_gt": matched, + "successful_inferences": total_cnt, + "top1_acc": top1_acc, + "top5_acc": top5_acc, + "fps": fps, + "config": { + "resize_type": args.resize_type, + "topk": args.topk, + "bpu_cores": args.bpu_cores, + "priority": args.priority, + }, + } + + logger.info("Evaluation finished.") + logger.info(f"Matched {matched}/{total_imgs} images to ground truth") + logger.info(f"Successful inferences: {total_cnt}") + logger.info(f"Top-1 Accuracy: {top1_acc:.4f} ({top1_cnt}/{total_cnt})") + logger.info(f"Top-5 Accuracy: {top5_acc:.4f} ({top5_cnt}/{total_cnt})") + logger.info(f"Average FPS: {fps:.2f}") + + with open(args.json_save_path, "w") as f: + json.dump(summary, f, indent=4) + logger.info(f"Results saved to {args.json_save_path}") + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/samples/vision/hgnetv2/evaluator/hgnetv2.py b/samples/vision/hgnetv2/evaluator/hgnetv2.py new file mode 100644 index 0000000..d8a8338 --- /dev/null +++ b/samples/vision/hgnetv2/evaluator/hgnetv2.py @@ -0,0 +1,232 @@ +# Copyright (c) 2026 D-Robotics Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +HGNetV2 inference module. + +This module implements the standardized HGNetV2 image classification +pipeline for `RDK X5`, including preprocessing, BPU execution, and Top-K +classification post-processing. + +Key Features: + - Load quantized `.bin` models with `hbm_runtime`. + - Convert BGR images to packed NV12 tensors required by the runtime. + - Run ImageNet-1k classification and return Top-K results. + - Keep the runtime interface aligned with the other classification samples. +""" + +from __future__ import annotations + +import os +import sys +import time +from dataclasses import dataclass +from typing import Dict, List, Optional, Tuple + +import cv2 +import hbm_runtime +import numpy as np +from scipy.special import softmax + +sys.path.append(os.path.abspath("../../../../../")) +import utils.py_utils.file_io as file_io +import utils.py_utils.preprocess as pre_utils + + +@dataclass +class HGNetV2Config: + """ + Configuration for HGNetV2 classification inference. + + Args: + model_path: Path to the compiled `.bin` model file. + label_file: Path to the ImageNet label file used for result decoding. + resize_type: Resize strategy used during preprocessing. + topk: Number of Top-K classes to return. + """ + + model_path: str + label_file: Optional[str] = None + resize_type: int = 0 + topk: int = 5 + + +class HGNetV2: + """ + HGNetV2 classification wrapper based on `hbm_runtime`. + + This class exposes the standard pipeline required by this repository: + `pre_process`, `forward`, `post_process`, `predict`, and `__call__`. + The runtime assumes a single packed-NV12 input and a single logits output. + """ + + def __init__(self, config: HGNetV2Config): + """ + Initialize the runtime wrapper and parse model metadata. + + Args: + config: Runtime configuration including model path and inference + parameters. + """ + + self.cfg = config + self.model = hbm_runtime.HB_HBMRuntime(config.model_path) + self.model_name = self.model.model_names[0] + self.input_names = self.model.input_names[self.model_name] + self.output_names = self.model.output_names[self.model_name] + self.input_shapes = self.model.input_shapes[self.model_name] + self.input_h = self.input_shapes[self.input_names[0]][2] + self.input_w = self.input_shapes[self.input_names[0]][3] + self.labels = file_io.load_imagenet_labels(config.label_file) if config.label_file else {} + + def set_scheduling_params( + self, + priority: Optional[int] = None, + bpu_cores: Optional[List[int]] = None, + ) -> None: + """ + Set optional runtime scheduling parameters. + + Args: + priority: Scheduling priority in the range `0~255`. + bpu_cores: Optional list of BPU core indexes used for inference. + """ + + kwargs = {} + if priority is not None: + kwargs["priority"] = {self.model_name: priority} + if bpu_cores is not None: + kwargs["bpu_cores"] = {self.model_name: bpu_cores} + if kwargs: + self.model.set_scheduling_params(**kwargs) + + def pre_process( + self, + image: np.ndarray, + resize_type: Optional[int] = None, + ) -> Dict[str, Dict[str, np.ndarray]]: + """ + Convert one BGR image into the packed NV12 tensor expected by the model. + + Args: + image: Input image in OpenCV BGR format. + resize_type: Optional override for the preprocessing resize strategy. + + Returns: + Nested input dictionary accepted by `hbm_runtime.run()`. + """ + + resize_type = resize_type if resize_type is not None else self.cfg.resize_type + resize_img = pre_utils.resized_image( + image, + self.input_w, + self.input_h, + resize_type, + interpolation=cv2.INTER_LINEAR, + ) + y, uv = pre_utils.bgr_to_nv12_planes(resize_img) + nv12 = np.concatenate((y.reshape(-1), uv.reshape(-1)), axis=0).reshape( + (1, self.input_h * 3 // 2, self.input_w, 1) + ) + return {self.model_name: {self.input_names[0]: nv12.astype(np.uint8)}} + + def forward(self, inputs: Dict[str, Dict[str, np.ndarray]]) -> Dict[str, np.ndarray]: + """ + Execute one forward pass on BPU. + + Args: + inputs: Prepared input tensors returned by `pre_process()`. + + Returns: + Raw model outputs keyed by output tensor name. + """ + + return self.model.run(inputs)[self.model_name] + + def post_process( + self, + outputs: Dict[str, np.ndarray], + topk: Optional[int] = None, + ) -> Tuple[np.ndarray, np.ndarray, List[str]]: + """ + Convert the raw logits tensor into Top-K classification results. + + Args: + outputs: Raw runtime outputs from `forward()`. + topk: Optional override for the Top-K result count. + + Returns: + A tuple of `(topk_idx, topk_prob, topk_labels)`. + """ + + topk = topk or self.cfg.topk + prob = softmax(np.squeeze(outputs[self.output_names[0]])) + topk_idx = np.argsort(prob)[-topk:][::-1] + topk_prob = prob[topk_idx] + topk_labels = [self.labels.get(int(idx), str(int(idx))) for idx in topk_idx] + return topk_idx, topk_prob, topk_labels + + def predict( + self, + image: np.ndarray, + resize_type: Optional[int] = None, + topk: Optional[int] = None, + ) -> Tuple[np.ndarray, np.ndarray, List[str]]: + """ + Run the complete HGNetV2 inference pipeline on one image. + + Args: + image: Input image in BGR format. + resize_type: Optional override for preprocessing resize strategy. + topk: Optional override for Top-K result count. + + Returns: + The Top-K class IDs, probabilities, and labels produced by + `post_process()`. + """ + + s1 = time.perf_counter() + inputs = self.pre_process(image, resize_type) + t1 = (time.perf_counter() - s1) * 1000 + + s2 = time.perf_counter() + outputs = self.forward(inputs) + t2 = (time.perf_counter() - s2) * 1000 + + s3 = time.perf_counter() + results = self.post_process(outputs, topk) + t3 = (time.perf_counter() - s3) * 1000 + + print(f"\n[Log] Pre-process: {t1:.2f} ms | Inference: {t2:.2f} ms | Post-process: {t3:.2f} ms") + return results + + def __call__( + self, + image: np.ndarray, + resize_type: Optional[int] = None, + topk: Optional[int] = None, + ) -> Tuple[np.ndarray, np.ndarray, List[str]]: + """ + Provide functional-style access to `predict()`. + + Args: + image: Input image in BGR format. + resize_type: Optional override for preprocessing resize strategy. + topk: Optional override for Top-K result count. + + Returns: + The same result tuple returned by `predict()`. + """ + + return self.predict(image, resize_type, topk) \ No newline at end of file diff --git a/samples/vision/hgnetv2/model/README.md b/samples/vision/hgnetv2/model/README.md new file mode 100644 index 0000000..e69de29 diff --git a/samples/vision/hgnetv2/model/README_cn.md b/samples/vision/hgnetv2/model/README_cn.md new file mode 100644 index 0000000..e69de29 diff --git a/samples/vision/hgnetv2/runtime/python/README.md b/samples/vision/hgnetv2/runtime/python/README.md new file mode 100644 index 0000000..f8d1365 --- /dev/null +++ b/samples/vision/hgnetv2/runtime/python/README.md @@ -0,0 +1,57 @@ +# HGNetV2 Image Classification Python Example + +This example demonstrates how to perform ImageNet-1k image classification tasks on the BPU using a quantized HGNetV2 model. + +## Directory Structure + +```text +. +|-- main.py +|-- hgnetv2.py +|-- README.md +|-- README_cn.md +`-- run.sh +``` + +## Parameters + +| Parameter | Description | Default | +| --- | --- | --- | +| `--model-path` | Path to the quantized `.bin` model file. | `./model/HGNetV2_b0_224x224_nv12.bin` | +| `--label-file` | Path to the ImageNet label file. | `./datasets/imagenet/classname.txt` | +| `--priority` | Model priority, range `0~255`. | `0` | +| `--bpu-cores` | BPU core index used for inference. | `0` | +| `--test-img` | Path to the test input image. | `./test_data/sandbar.JPEG` | +| `--img-save-path` | Path to save the output visualization image. | `./test_data/result.jpg` | +| `--resize-type` | Resize strategy (`0`: direct resize, `1`: letterbox). | `0` | +| `--topk` | Number of top-K categories to display. | `5` | + +## Quick Start + +```bash +chmod +x run.sh +./run.sh +``` + +## Manual Execution + +- Using default parameters: + +```bash +python3 main.py +``` + +- Explicitly specifying parameters: + +```bash +python3 main.py \ + --model-path ../../model/hgnetv2_b0_224x224_nv12.bin \ + --test-img ./test_data/great_grey_owl.JPEG \ + --img-save-path ./test_data/result.jpg \ + --topk 5 +``` + +## API Description + +- **HGNetV2Config**: Encapsulates the model path, label file, and inference parameters. +- **HGNetV2**: Implements preprocessing, BPU inference, and top‑K classification post‑processing. \ No newline at end of file diff --git a/samples/vision/hgnetv2/runtime/python/README_cn.md b/samples/vision/hgnetv2/runtime/python/README_cn.md new file mode 100644 index 0000000..d5536c6 --- /dev/null +++ b/samples/vision/hgnetv2/runtime/python/README_cn.md @@ -0,0 +1,59 @@ +[English](./README.md) | 简体中文 + +# HGNetV2 图像分类 Python 示例 + +本示例展示如何在 BPU 上使用量化后的 HGNetV2 模型执行 ImageNet-1k 图像分类任务。 + +## 目录结构 + +```text +. +|-- main.py +|-- hgnetv2.py +|-- README.md +|-- README_cn.md +`-- run.sh +``` + +## 参数说明 + +| 参数 | 说明 | 默认值 | +| --- | --- | --- | +| `--model-path` | 量化 `.bin` 模型文件路径。 | `./model/HGNetV2_b0_224x224_nv12.bin` | +| `--label-file` | ImageNet 标签文件路径。 | `./datasets/imagenet/classname.txt` | +| `--priority` | 模型优先级,范围 `0~255`。 | `0` | +| `--bpu-cores` | 用于推理的 BPU 核索引。 | `0` | +| `--test-img` | 测试输入图像路径。 | `./test_data/sandbar.JPEG` | +| `--img-save-path` | 输出可视化图像保存路径。 | `./test_data/result.jpg` | +| `--resize-type` | 缩放策略(`0`:直接缩放,`1`:letterbox)。 | `0` | +| `--topk` | 显示的 Top-K 类别数量。 | `5` | + +## 快速运行 + +```bash +chmod +x run.sh +./run.sh +``` + +## 手动运行 + +- 使用默认参数: + +```bash +python3 main.py +``` + +- 显式指定参数: + +```bash +python3 main.py \ + --model-path ../../model/hgnetv2_b0_224x224_nv12.bin \ + --test-img ./test_data/great_grey_owl.JPEG \ + --img-save-path ./test_data/result.jpg \ + --topk 5 +``` + +## 接口说明 + +- **HGNetV2Config**:封装模型路径、标签文件和推理参数。 +- **HGNetV2**:实现预处理、BPU 推理和 Top-K 分类后处理。 diff --git a/samples/vision/hgnetv2/runtime/python/hgnetv2.py b/samples/vision/hgnetv2/runtime/python/hgnetv2.py new file mode 100644 index 0000000..d8a8338 --- /dev/null +++ b/samples/vision/hgnetv2/runtime/python/hgnetv2.py @@ -0,0 +1,232 @@ +# Copyright (c) 2026 D-Robotics Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +HGNetV2 inference module. + +This module implements the standardized HGNetV2 image classification +pipeline for `RDK X5`, including preprocessing, BPU execution, and Top-K +classification post-processing. + +Key Features: + - Load quantized `.bin` models with `hbm_runtime`. + - Convert BGR images to packed NV12 tensors required by the runtime. + - Run ImageNet-1k classification and return Top-K results. + - Keep the runtime interface aligned with the other classification samples. +""" + +from __future__ import annotations + +import os +import sys +import time +from dataclasses import dataclass +from typing import Dict, List, Optional, Tuple + +import cv2 +import hbm_runtime +import numpy as np +from scipy.special import softmax + +sys.path.append(os.path.abspath("../../../../../")) +import utils.py_utils.file_io as file_io +import utils.py_utils.preprocess as pre_utils + + +@dataclass +class HGNetV2Config: + """ + Configuration for HGNetV2 classification inference. + + Args: + model_path: Path to the compiled `.bin` model file. + label_file: Path to the ImageNet label file used for result decoding. + resize_type: Resize strategy used during preprocessing. + topk: Number of Top-K classes to return. + """ + + model_path: str + label_file: Optional[str] = None + resize_type: int = 0 + topk: int = 5 + + +class HGNetV2: + """ + HGNetV2 classification wrapper based on `hbm_runtime`. + + This class exposes the standard pipeline required by this repository: + `pre_process`, `forward`, `post_process`, `predict`, and `__call__`. + The runtime assumes a single packed-NV12 input and a single logits output. + """ + + def __init__(self, config: HGNetV2Config): + """ + Initialize the runtime wrapper and parse model metadata. + + Args: + config: Runtime configuration including model path and inference + parameters. + """ + + self.cfg = config + self.model = hbm_runtime.HB_HBMRuntime(config.model_path) + self.model_name = self.model.model_names[0] + self.input_names = self.model.input_names[self.model_name] + self.output_names = self.model.output_names[self.model_name] + self.input_shapes = self.model.input_shapes[self.model_name] + self.input_h = self.input_shapes[self.input_names[0]][2] + self.input_w = self.input_shapes[self.input_names[0]][3] + self.labels = file_io.load_imagenet_labels(config.label_file) if config.label_file else {} + + def set_scheduling_params( + self, + priority: Optional[int] = None, + bpu_cores: Optional[List[int]] = None, + ) -> None: + """ + Set optional runtime scheduling parameters. + + Args: + priority: Scheduling priority in the range `0~255`. + bpu_cores: Optional list of BPU core indexes used for inference. + """ + + kwargs = {} + if priority is not None: + kwargs["priority"] = {self.model_name: priority} + if bpu_cores is not None: + kwargs["bpu_cores"] = {self.model_name: bpu_cores} + if kwargs: + self.model.set_scheduling_params(**kwargs) + + def pre_process( + self, + image: np.ndarray, + resize_type: Optional[int] = None, + ) -> Dict[str, Dict[str, np.ndarray]]: + """ + Convert one BGR image into the packed NV12 tensor expected by the model. + + Args: + image: Input image in OpenCV BGR format. + resize_type: Optional override for the preprocessing resize strategy. + + Returns: + Nested input dictionary accepted by `hbm_runtime.run()`. + """ + + resize_type = resize_type if resize_type is not None else self.cfg.resize_type + resize_img = pre_utils.resized_image( + image, + self.input_w, + self.input_h, + resize_type, + interpolation=cv2.INTER_LINEAR, + ) + y, uv = pre_utils.bgr_to_nv12_planes(resize_img) + nv12 = np.concatenate((y.reshape(-1), uv.reshape(-1)), axis=0).reshape( + (1, self.input_h * 3 // 2, self.input_w, 1) + ) + return {self.model_name: {self.input_names[0]: nv12.astype(np.uint8)}} + + def forward(self, inputs: Dict[str, Dict[str, np.ndarray]]) -> Dict[str, np.ndarray]: + """ + Execute one forward pass on BPU. + + Args: + inputs: Prepared input tensors returned by `pre_process()`. + + Returns: + Raw model outputs keyed by output tensor name. + """ + + return self.model.run(inputs)[self.model_name] + + def post_process( + self, + outputs: Dict[str, np.ndarray], + topk: Optional[int] = None, + ) -> Tuple[np.ndarray, np.ndarray, List[str]]: + """ + Convert the raw logits tensor into Top-K classification results. + + Args: + outputs: Raw runtime outputs from `forward()`. + topk: Optional override for the Top-K result count. + + Returns: + A tuple of `(topk_idx, topk_prob, topk_labels)`. + """ + + topk = topk or self.cfg.topk + prob = softmax(np.squeeze(outputs[self.output_names[0]])) + topk_idx = np.argsort(prob)[-topk:][::-1] + topk_prob = prob[topk_idx] + topk_labels = [self.labels.get(int(idx), str(int(idx))) for idx in topk_idx] + return topk_idx, topk_prob, topk_labels + + def predict( + self, + image: np.ndarray, + resize_type: Optional[int] = None, + topk: Optional[int] = None, + ) -> Tuple[np.ndarray, np.ndarray, List[str]]: + """ + Run the complete HGNetV2 inference pipeline on one image. + + Args: + image: Input image in BGR format. + resize_type: Optional override for preprocessing resize strategy. + topk: Optional override for Top-K result count. + + Returns: + The Top-K class IDs, probabilities, and labels produced by + `post_process()`. + """ + + s1 = time.perf_counter() + inputs = self.pre_process(image, resize_type) + t1 = (time.perf_counter() - s1) * 1000 + + s2 = time.perf_counter() + outputs = self.forward(inputs) + t2 = (time.perf_counter() - s2) * 1000 + + s3 = time.perf_counter() + results = self.post_process(outputs, topk) + t3 = (time.perf_counter() - s3) * 1000 + + print(f"\n[Log] Pre-process: {t1:.2f} ms | Inference: {t2:.2f} ms | Post-process: {t3:.2f} ms") + return results + + def __call__( + self, + image: np.ndarray, + resize_type: Optional[int] = None, + topk: Optional[int] = None, + ) -> Tuple[np.ndarray, np.ndarray, List[str]]: + """ + Provide functional-style access to `predict()`. + + Args: + image: Input image in BGR format. + resize_type: Optional override for preprocessing resize strategy. + topk: Optional override for Top-K result count. + + Returns: + The same result tuple returned by `predict()`. + """ + + return self.predict(image, resize_type, topk) \ No newline at end of file diff --git a/samples/vision/hgnetv2/runtime/python/main.py b/samples/vision/hgnetv2/runtime/python/main.py new file mode 100644 index 0000000..48edfa5 --- /dev/null +++ b/samples/vision/hgnetv2/runtime/python/main.py @@ -0,0 +1,117 @@ +# Copyright (c) 2026 D-Robotics Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +HGNetV2 image classification inference entry script. + +This module provides the standard Python entry for the HGNetV2 sample on +`RDK X5`. The script is responsible for parsing command-line arguments, +constructing the runtime wrapper, loading the input image and labels, +running inference, printing Top-K results, and saving the final +visualization image. +""" + +from __future__ import annotations + +import argparse +import logging +import os +import sys + +import cv2 + +sys.path.append(os.path.abspath("../../../../../")) +import utils.py_utils.file_io as file_io +import utils.py_utils.inspect as inspect +import utils.py_utils.visualize as visualize +from hgnetv2 import HGNetV2, HGNetV2Config + + +logging.basicConfig( + level=logging.INFO, + format="[%(name)s] [%(asctime)s.%(msecs)03d] [%(levelname)s] %(message)s", + datefmt="%H:%M:%S", +) +logger = logging.getLogger("HGNetV2") + +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) +PROJECT_ROOT = os.path.abspath(os.path.join(SCRIPT_DIR, "../../../../../")) +MODEL_DIR = os.path.abspath(os.path.join(SCRIPT_DIR, "../../model")) +TEST_DATA_DIR = os.path.abspath(os.path.join(SCRIPT_DIR, "../../test_data")) +DEFAULT_MODEL_PATH = os.path.join(MODEL_DIR, "HGNetV2_224x224_nv12.bin") +DEFAULT_TEST_IMAGE = os.path.join(TEST_DATA_DIR, "sandbar.JPEG") +DEFAULT_RESULT_IMAGE = os.path.join(TEST_DATA_DIR, "result.jpg") +DEFAULT_LABEL_FILE = os.path.join(PROJECT_ROOT, "datasets/imagenet/classname.txt") + + +def save_image(path: str, image) -> None: + """Save the classification visualization image to disk.""" + + save_dir = os.path.dirname(path) + if save_dir: + os.makedirs(save_dir, exist_ok=True) + if not cv2.imwrite(path, image): + raise RuntimeError(f"Failed to save image to {path}") + + +def main() -> None: + """ + Run the complete HGNetV2 classification pipeline on a single image. + + The entry follows the standardized sample pattern used in this repository: + 1. Parse default-usable command-line arguments. + 2. Build the HGNetV2 runtime configuration. + 3. Load the ImageNet labels and the test image. + 4. Execute `predict()` on the runtime wrapper. + 5. Print Top-K results and save the visualization image. + """ + + parser = argparse.ArgumentParser(description="HGNetV2 Classification Inference") + parser.add_argument("--model-path", type=str, default=DEFAULT_MODEL_PATH, help="Path to the BPU quantized *.bin model.") + parser.add_argument("--label-file", type=str, default=DEFAULT_LABEL_FILE, help="Path to the ImageNet label file.") + parser.add_argument("--priority", type=int, default=0, help="Model priority (0~255).") + parser.add_argument("--bpu-cores", nargs="+", type=int, default=[0], help="BPU core indexes to run inference.") + parser.add_argument("--test-img", type=str, default=DEFAULT_TEST_IMAGE, help="Path to the test input image.") + parser.add_argument("--img-save-path", type=str, default=DEFAULT_RESULT_IMAGE, help="Path to save output result image.") + parser.add_argument("--resize-type", type=int, default=0, help="Resize strategy (0: direct, 1: letterbox).") + parser.add_argument("--topk", type=int, default=5, help="Number of top results to return.") + args = parser.parse_args() + + config = HGNetV2Config( + model_path=args.model_path, + label_file=args.label_file, + resize_type=args.resize_type, + topk=args.topk, + ) + model = HGNetV2(config) + model.set_scheduling_params(priority=args.priority, bpu_cores=args.bpu_cores) + + inspect.print_model_info(model.model) + + image = file_io.load_image(args.test_img) + labels = model.labels + topk_idx, topk_prob, topk_labels = model.predict(image) + + logger.info(f"Top-{args.topk} results:") + for i, (cid, score, label) in enumerate(zip(topk_idx, topk_prob, topk_labels), start=1): + logger.info(f"Rank {i}: class={cid}, label={label}, score={score:.4f}") + + vis_results = list(zip(topk_idx.tolist(), topk_prob.tolist())) + vis_image = visualize.draw_classification(image.copy(), vis_results, labels) + save_image(args.img_save_path, vis_image) + logger.info(f'Saving results to "{args.img_save_path}"') + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/samples/vision/hgnetv2/runtime/python/run.sh b/samples/vision/hgnetv2/runtime/python/run.sh new file mode 100644 index 0000000..a897dc1 --- /dev/null +++ b/samples/vision/hgnetv2/runtime/python/run.sh @@ -0,0 +1,8 @@ +#!/bin/bash +set -e + +MODEL_PATH="/opt/hobot/model/x5/basic/HGNetV2_224x224_nv12.bin" +[ ! -f "$MODEL_PATH" ] && MODEL_PATH="../../model/HGNetV2_224x224_nv12.bin" +[ ! -f "$MODEL_PATH" ] && bash ../../model/download.sh && MODEL_PATH="../../model/HGNetV2_224x224_nv12.bin" + +python3 main.py --model-path "$MODEL_PATH" diff --git a/samples/vision/hgnetv2/test_data/classname.txt b/samples/vision/hgnetv2/test_data/classname.txt new file mode 100644 index 0000000..722c984 --- /dev/null +++ b/samples/vision/hgnetv2/test_data/classname.txt @@ -0,0 +1,1000 @@ +tench, Tinca tinca +goldfish, Carassius auratus +great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias +tiger shark, Galeocerdo cuvieri +hammerhead, hammerhead shark +electric ray, crampfish, numbfish, torpedo +stingray +cock +hen +ostrich, Struthio camelus +brambling, Fringilla montifringilla +goldfinch, Carduelis carduelis +house finch, linnet, Carpodacus mexicanus +junco, snowbird +indigo bunting, indigo finch, indigo bird, Passerina cyanea +robin, American robin, Turdus migratorius +bulbul +jay +magpie +chickadee +water ouzel, dipper +kite +bald eagle, American eagle, Haliaeetus leucocephalus +vulture +great grey owl, great gray owl, Strix nebulosa +European fire salamander, Salamandra salamandra +common newt, Triturus vulgaris +eft +spotted salamander, Ambystoma maculatum +axolotl, mud puppy, Ambystoma mexicanum +bullfrog, Rana catesbeiana +tree frog, tree-frog +tailed frog, bell toad, ribbed toad, tailed toad, Ascaphus trui +loggerhead, loggerhead turtle, Caretta caretta +leatherback turtle, leatherback, leathery turtle, Dermochelys coriacea +mud turtle +terrapin +box turtle, box tortoise +banded gecko +common iguana, iguana, Iguana iguana +American chameleon, anole, Anolis carolinensis +whiptail, whiptail lizard +agama +frilled lizard, Chlamydosaurus kingi +alligator lizard +Gila monster, Heloderma suspectum +green lizard, Lacerta viridis +African chameleon, Chamaeleo chamaeleon +Komodo dragon, Komodo lizard, dragon lizard, giant lizard, Varanus komodoensis +African crocodile, Nile crocodile, Crocodylus niloticus +American alligator, Alligator mississipiensis +triceratops +thunder snake, worm snake, Carphophis amoenus +ringneck snake, ring-necked snake, ring snake +hognose snake, puff adder, sand viper +green snake, grass snake +king snake, kingsnake +garter snake, grass snake +water snake +vine snake +night snake, Hypsiglena torquata +boa constrictor, Constrictor constrictor +rock python, rock snake, Python sebae +Indian cobra, Naja naja +green mamba +sea snake +horned viper, cerastes, sand viper, horned asp, Cerastes cornutus +diamondback, diamondback rattlesnake, Crotalus adamanteus +sidewinder, horned rattlesnake, Crotalus cerastes +trilobite +harvestman, daddy longlegs, Phalangium opilio +scorpion +black and gold garden spider, Argiope aurantia +barn spider, Araneus cavaticus +garden spider, Aranea diademata +black widow, Latrodectus mactans +tarantula +wolf spider, hunting spider +tick +centipede +black grouse +ptarmigan +ruffed grouse, partridge, Bonasa umbellus +prairie chicken, prairie grouse, prairie fowl +peacock +quail +partridge +African grey, African gray, Psittacus erithacus +macaw +sulphur-crested cockatoo, Kakatoe galerita, Cacatua galerita +lorikeet +coucal +bee eater +hornbill +hummingbird +jacamar +toucan +drake +red-breasted merganser, Mergus serrator +goose +black swan, Cygnus atratus +tusker +echidna, spiny anteater, anteater +platypus, duckbill, duckbilled platypus, duck-billed platypus, Ornithorhynchus anatinus +wallaby, brush kangaroo +koala, koala bear, kangaroo bear, native bear, Phascolarctos cinereus +wombat +jellyfish +sea anemone, anemone +brain coral +flatworm, platyhelminth +nematode, nematode worm, roundworm +conch +snail +slug +sea slug, nudibranch +chiton, coat-of-mail shell, sea cradle, polyplacophore +chambered nautilus, pearly nautilus, nautilus +Dungeness crab, Cancer magister +rock crab, Cancer irroratus +fiddler crab +king crab, Alaska crab, Alaskan king crab, Alaska king crab, Paralithodes camtschatica +American lobster, Northern lobster, Maine lobster, Homarus americanus +spiny lobster, langouste, rock lobster, crawfish, crayfish, sea crawfish +crayfish, crawfish, crawdad, crawdaddy +hermit crab +isopod +white stork, Ciconia ciconia +black stork, Ciconia nigra +spoonbill +flamingo +little blue heron, Egretta caerulea +American egret, great white heron, Egretta albus +bittern +crane +limpkin, Aramus pictus +European gallinule, Porphyrio porphyrio +American coot, marsh hen, mud hen, water hen, Fulica americana +bustard +ruddy turnstone, Arenaria interpres +red-backed sandpiper, dunlin, Erolia alpina +redshank, Tringa totanus +dowitcher +oystercatcher, oyster catcher +pelican +king penguin, Aptenodytes patagonica +albatross, mollymawk +grey whale, gray whale, devilfish, Eschrichtius gibbosus, Eschrichtius robustus +killer whale, killer, orca, grampus, sea wolf, Orcinus orca +dugong, Dugong dugon +sea lion +Chihuahua +Japanese spaniel +Maltese dog, Maltese terrier, Maltese +Pekinese, Pekingese, Peke +Shih-Tzu +Blenheim spaniel +papillon +toy terrier +Rhodesian ridgeback +Afghan hound, Afghan +basset, basset hound +beagle +bloodhound, sleuthhound +bluetick +black-and-tan coonhound +Walker hound, Walker foxhound +English foxhound +redbone +borzoi, Russian wolfhound +Irish wolfhound +Italian greyhound +whippet +Ibizan hound, Ibizan Podenco +Norwegian elkhound, elkhound +otterhound, otter hound +Saluki, gazelle hound +Scottish deerhound, deerhound +Weimaraner +Staffordshire bullterrier, Staffordshire bull terrier +American Staffordshire terrier, Staffordshire terrier, American pit bull terrier, pit bull terrier +Bedlington terrier +Border terrier +Kerry blue terrier +Irish terrier +Norfolk terrier +Norwich terrier +Yorkshire terrier +wire-haired fox terrier +Lakeland terrier +Sealyham terrier, Sealyham +Airedale, Airedale terrier +cairn, cairn terrier +Australian terrier +Dandie Dinmont, Dandie Dinmont terrier +Boston bull, Boston terrier +miniature schnauzer +giant schnauzer +standard schnauzer +Scotch terrier, Scottish terrier, Scottie +Tibetan terrier, chrysanthemum dog +silky terrier, Sydney silky +soft-coated wheaten terrier +West Highland white terrier +Lhasa, Lhasa apso +flat-coated retriever +curly-coated retriever +golden retriever +Labrador retriever +Chesapeake Bay retriever +German short-haired pointer +vizsla, Hungarian pointer +English setter +Irish setter, red setter +Gordon setter +Brittany spaniel +clumber, clumber spaniel +English springer, English springer spaniel +Welsh springer spaniel +cocker spaniel, English cocker spaniel, cocker +Sussex spaniel +Irish water spaniel +kuvasz +schipperke +groenendael +malinois +briard +kelpie +komondor +Old English sheepdog, bobtail +Shetland sheepdog, Shetland sheep dog, Shetland +collie +Border collie +Bouvier des Flandres, Bouviers des Flandres +Rottweiler +German shepherd, German shepherd dog, German police dog, alsatian +Doberman, Doberman pinscher +miniature pinscher +Greater Swiss Mountain dog +Bernese mountain dog +Appenzeller +EntleBucher +boxer +bull mastiff +Tibetan mastiff +French bulldog +Great Dane +Saint Bernard, St Bernard +Eskimo dog, husky +malamute, malemute, Alaskan malamute +Siberian husky +dalmatian, coach dog, carriage dog +affenpinscher, monkey pinscher, monkey dog +basenji +pug, pug-dog +Leonberg +Newfoundland, Newfoundland dog +Great Pyrenees +Samoyed, Samoyede +Pomeranian +chow, chow chow +keeshond +Brabancon griffon +Pembroke, Pembroke Welsh corgi +Cardigan, Cardigan Welsh corgi +toy poodle +miniature poodle +standard poodle +Mexican hairless +timber wolf, grey wolf, gray wolf, Canis lupus +white wolf, Arctic wolf, Canis lupus tundrarum +red wolf, maned wolf, Canis rufus, Canis niger +coyote, prairie wolf, brush wolf, Canis latrans +dingo, warrigal, warragal, Canis dingo +dhole, Cuon alpinus +African hunting dog, hyena dog, Cape hunting dog, Lycaon pictus +hyena, hyaena +red fox, Vulpes vulpes +kit fox, Vulpes macrotis +Arctic fox, white fox, Alopex lagopus +grey fox, gray fox, Urocyon cinereoargenteus +tabby, tabby cat +tiger cat +Persian cat +Siamese cat, Siamese +Egyptian cat +cougar, puma, catamount, mountain lion, painter, panther, Felis concolor +lynx, catamount +leopard, Panthera pardus +snow leopard, ounce, Panthera uncia +jaguar, panther, Panthera onca, Felis onca +lion, king of beasts, Panthera leo +tiger, Panthera tigris +cheetah, chetah, Acinonyx jubatus +brown bear, bruin, Ursus arctos +American black bear, black bear, Ursus americanus, Euarctos americanus +ice bear, polar bear, Ursus Maritimus, Thalarctos maritimus +sloth bear, Melursus ursinus, Ursus ursinus +mongoose +meerkat, mierkat +tiger beetle +ladybug, ladybeetle, lady beetle, ladybird, ladybird beetle +ground beetle, carabid beetle +long-horned beetle, longicorn, longicorn beetle +leaf beetle, chrysomelid +dung beetle +rhinoceros beetle +weevil +fly +bee +ant, emmet, pismire +grasshopper, hopper +cricket +walking stick, walkingstick, stick insect +cockroach, roach +mantis, mantid +cicada, cicala +leafhopper +lacewing, lacewing fly +dragonfly, darning needle, devil's darning needle, sewing needle, snake feeder, snake doctor, mosquito hawk, skeeter hawk +damselfly +admiral +ringlet, ringlet butterfly +monarch, monarch butterfly, milkweed butterfly, Danaus plexippus +cabbage butterfly +sulphur butterfly, sulfur butterfly +lycaenid, lycaenid butterfly +starfish, sea star +sea urchin +sea cucumber, holothurian +wood rabbit, cottontail, cottontail rabbit +hare +Angora, Angora rabbit +hamster +porcupine, hedgehog +fox squirrel, eastern fox squirrel, Sciurus niger +marmot +beaver +guinea pig, Cavia cobaya +sorrel +zebra +hog, pig, grunter, squealer, Sus scrofa +wild boar, boar, Sus scrofa +warthog +hippopotamus, hippo, river horse, Hippopotamus amphibius +ox +water buffalo, water ox, Asiatic buffalo, Bubalus bubalis +bison +ram, tup +bighorn, bighorn sheep, cimarron, Rocky Mountain bighorn, Rocky Mountain sheep, Ovis canadensis +ibex, Capra ibex +hartebeest +impala, Aepyceros melampus +gazelle +Arabian camel, dromedary, Camelus dromedarius +llama +weasel +mink +polecat, fitch, foulmart, foumart, Mustela putorius +black-footed ferret, ferret, Mustela nigripes +otter +skunk, polecat, wood pussy +badger +armadillo +three-toed sloth, ai, Bradypus tridactylus +orangutan, orang, orangutang, Pongo pygmaeus +gorilla, Gorilla gorilla +chimpanzee, chimp, Pan troglodytes +gibbon, Hylobates lar +siamang, Hylobates syndactylus, Symphalangus syndactylus +guenon, guenon monkey +patas, hussar monkey, Erythrocebus patas +baboon +macaque +langur +colobus, colobus monkey +proboscis monkey, Nasalis larvatus +marmoset +capuchin, ringtail, Cebus capucinus +howler monkey, howler +titi, titi monkey +spider monkey, Ateles geoffroyi +squirrel monkey, Saimiri sciureus +Madagascar cat, ring-tailed lemur, Lemur catta +indri, indris, Indri indri, Indri brevicaudatus +Indian elephant, Elephas maximus +African elephant, Loxodonta africana +lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens +giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca +barracouta, snoek +eel +coho, cohoe, coho salmon, blue jack, silver salmon, Oncorhynchus kisutch +rock beauty, Holocanthus tricolor +anemone fish +sturgeon +gar, garfish, garpike, billfish, Lepisosteus osseus +lionfish +puffer, pufferfish, blowfish, globefish +abacus +abaya +academic gown, academic robe, judge's robe +accordion, piano accordion, squeeze box +acoustic guitar +aircraft carrier, carrier, flattop, attack aircraft carrier +airliner +airship, dirigible +altar +ambulance +amphibian, amphibious vehicle +analog clock +apiary, bee house +apron +ashcan, trash can, garbage can, wastebin, ash bin, ash-bin, ashbin, dustbin, trash barrel, trash bin +assault rifle, assault gun +backpack, back pack, knapsack, packsack, rucksack, haversack +bakery, bakeshop, bakehouse +balance beam, beam +balloon +ballpoint, ballpoint pen, ballpen, Biro +Band Aid +banjo +bannister, banister, balustrade, balusters, handrail +barbell +barber chair +barbershop +barn +barometer +barrel, cask +barrow, garden cart, lawn cart, wheelbarrow +baseball +basketball +bassinet +bassoon +bathing cap, swimming cap +bath towel +bathtub, bathing tub, bath, tub +beach wagon, station wagon, wagon, estate car, beach waggon, station waggon, waggon +beacon, lighthouse, beacon light, pharos +beaker +bearskin, busby, shako +beer bottle +beer glass +bell cote, bell cot +bib +bicycle-built-for-two, tandem bicycle, tandem +bikini, two-piece +binder, ring-binder +binoculars, field glasses, opera glasses +birdhouse +boathouse +bobsled, bobsleigh, bob +bolo tie, bolo, bola tie, bola +bonnet, poke bonnet +bookcase +bookshop, bookstore, bookstall +bottlecap +bow +bow tie, bow-tie, bowtie +brass, memorial tablet, plaque +brassiere, bra, bandeau +breakwater, groin, groyne, mole, bulwark, seawall, jetty +breastplate, aegis, egis +broom +bucket, pail +buckle +bulletproof vest +bullet train, bullet +butcher shop, meat market +cab, hack, taxi, taxicab +caldron, cauldron +candle, taper, wax light +cannon +canoe +can opener, tin opener +cardigan +car mirror +carousel, carrousel, merry-go-round, roundabout, whirligig +carpenter's kit, tool kit +carton +car wheel +cash machine, cash dispenser, automated teller machine, automatic teller machine, automated teller, automatic teller, ATM +cassette +cassette player +castle +catamaran +CD player +cello, violoncello +cellular telephone, cellular phone, cellphone, cell, mobile phone +chain +chainlink fence +chain mail, ring mail, mail, chain armor, chain armour, ring armor, ring armour +chain saw, chainsaw +chest +chiffonier, commode +chime, bell, gong +china cabinet, china closet +Christmas stocking +church, church building +cinema, movie theater, movie theatre, movie house, picture palace +cleaver, meat cleaver, chopper +cliff dwelling +cloak +clog, geta, patten, sabot +cocktail shaker +coffee mug +coffeepot +coil, spiral, volute, whorl, helix +combination lock +computer keyboard, keypad +confectionery, confectionary, candy store +container ship, containership, container vessel +convertible +corkscrew, bottle screw +cornet, horn, trumpet, trump +cowboy boot +cowboy hat, ten-gallon hat +cradle +crane +crash helmet +crate +crib, cot +Crock Pot +croquet ball +crutch +cuirass +dam, dike, dyke +desk +desktop computer +dial telephone, dial phone +diaper, nappy, napkin +digital clock +digital watch +dining table, board +dishrag, dishcloth +dishwasher, dish washer, dishwashing machine +disk brake, disc brake +dock, dockage, docking facility +dogsled, dog sled, dog sleigh +dome +doormat, welcome mat +drilling platform, offshore rig +drum, membranophone, tympan +drumstick +dumbbell +Dutch oven +electric fan, blower +electric guitar +electric locomotive +entertainment center +envelope +espresso maker +face powder +feather boa, boa +file, file cabinet, filing cabinet +fireboat +fire engine, fire truck +fire screen, fireguard +flagpole, flagstaff +flute, transverse flute +folding chair +football helmet +forklift +fountain +fountain pen +four-poster +freight car +French horn, horn +frying pan, frypan, skillet +fur coat +garbage truck, dustcart +gasmask, respirator, gas helmet +gas pump, gasoline pump, petrol pump, island dispenser +goblet +go-kart +golf ball +golfcart, golf cart +gondola +gong, tam-tam +gown +grand piano, grand +greenhouse, nursery, glasshouse +grille, radiator grille +grocery store, grocery, food market, market +guillotine +hair slide +hair spray +half track +hammer +hamper +hand blower, blow dryer, blow drier, hair dryer, hair drier +hand-held computer, hand-held microcomputer +handkerchief, hankie, hanky, hankey +hard disc, hard disk, fixed disk +harmonica, mouth organ, harp, mouth harp +harp +harvester, reaper +hatchet +holster +home theater, home theatre +honeycomb +hook, claw +hoopskirt, crinoline +horizontal bar, high bar +horse cart, horse-cart +hourglass +iPod +iron, smoothing iron +jack-o'-lantern +jean, blue jean, denim +jeep, landrover +jersey, T-shirt, tee shirt +jigsaw puzzle +jinrikisha, ricksha, rickshaw +joystick +kimono +knee pad +knot +lab coat, laboratory coat +ladle +lampshade, lamp shade +laptop, laptop computer +lawn mower, mower +lens cap, lens cover +letter opener, paper knife, paperknife +library +lifeboat +lighter, light, igniter, ignitor +limousine, limo +liner, ocean liner +lipstick, lip rouge +Loafer +lotion +loudspeaker, speaker, speaker unit, loudspeaker system, speaker system +loupe, jeweler's loupe +lumbermill, sawmill +magnetic compass +mailbag, postbag +mailbox, letter box +maillot +maillot, tank suit +manhole cover +maraca +marimba, xylophone +mask +matchstick +maypole +maze, labyrinth +measuring cup +medicine chest, medicine cabinet +megalith, megalithic structure +microphone, mike +microwave, microwave oven +military uniform +milk can +minibus +miniskirt, mini +minivan +missile +mitten +mixing bowl +mobile home, manufactured home +Model T +modem +monastery +monitor +moped +mortar +mortarboard +mosque +mosquito net +motor scooter, scooter +mountain bike, all-terrain bike, off-roader +mountain tent +mouse, computer mouse +mousetrap +moving van +muzzle +nail +neck brace +necklace +nipple +notebook, notebook computer +obelisk +oboe, hautboy, hautbois +ocarina, sweet potato +odometer, hodometer, mileometer, milometer +oil filter +organ, pipe organ +oscilloscope, scope, cathode-ray oscilloscope, CRO +overskirt +oxcart +oxygen mask +packet +paddle, boat paddle +paddlewheel, paddle wheel +padlock +paintbrush +pajama, pyjama, pj's, jammies +palace +panpipe, pandean pipe, syrinx +paper towel +parachute, chute +parallel bars, bars +park bench +parking meter +passenger car, coach, carriage +patio, terrace +pay-phone, pay-station +pedestal, plinth, footstall +pencil box, pencil case +pencil sharpener +perfume, essence +Petri dish +photocopier +pick, plectrum, plectron +pickelhaube +picket fence, paling +pickup, pickup truck +pier +piggy bank, penny bank +pill bottle +pillow +ping-pong ball +pinwheel +pirate, pirate ship +pitcher, ewer +plane, carpenter's plane, woodworking plane +planetarium +plastic bag +plate rack +plow, plough +plunger, plumber's helper +Polaroid camera, Polaroid Land camera +pole +police van, police wagon, paddy wagon, patrol wagon, wagon, black Maria +poncho +pool table, billiard table, snooker table +pop bottle, soda bottle +pot, flowerpot +potter's wheel +power drill +prayer rug, prayer mat +printer +prison, prison house +projectile, missile +projector +puck, hockey puck +punching bag, punch bag, punching ball, punchball +purse +quill, quill pen +quilt, comforter, comfort, puff +racer, race car, racing car +racket, racquet +radiator +radio, wireless +radio telescope, radio reflector +rain barrel +recreational vehicle, RV, R.V. +reel +reflex camera +refrigerator, icebox +remote control, remote +restaurant, eating house, eating place, eatery +revolver, six-gun, six-shooter +rifle +rocking chair, rocker +rotisserie +rubber eraser, rubber, pencil eraser +rugby ball +rule, ruler +running shoe +safe +safety pin +saltshaker, salt shaker +sandal +sarong +sax, saxophone +scabbard +scale, weighing machine +school bus +schooner +scoreboard +screen, CRT screen +screw +screwdriver +seat belt, seatbelt +sewing machine +shield, buckler +shoe shop, shoe-shop, shoe store +shoji +shopping basket +shopping cart +shovel +shower cap +shower curtain +ski +ski mask +sleeping bag +slide rule, slipstick +sliding door +slot, one-armed bandit +snorkel +snowmobile +snowplow, snowplough +soap dispenser +soccer ball +sock +solar dish, solar collector, solar furnace +sombrero +soup bowl +space bar +space heater +space shuttle +spatula +speedboat +spider web, spider's web +spindle +sports car, sport car +spotlight, spot +stage +steam locomotive +steel arch bridge +steel drum +stethoscope +stole +stone wall +stopwatch, stop watch +stove +strainer +streetcar, tram, tramcar, trolley, trolley car +stretcher +studio couch, day bed +stupa, tope +submarine, pigboat, sub, U-boat +suit, suit of clothes +sundial +sunglass +sunglasses, dark glasses, shades +sunscreen, sunblock, sun blocker +suspension bridge +swab, swob, mop +sweatshirt +swimming trunks, bathing trunks +swing +switch, electric switch, electrical switch +syringe +table lamp +tank, army tank, armored combat vehicle, armoured combat vehicle +tape player +teapot +teddy, teddy bear +television, television system +tennis ball +thatch, thatched roof +theater curtain, theatre curtain +thimble +thresher, thrasher, threshing machine +throne +tile roof +toaster +tobacco shop, tobacconist shop, tobacconist +toilet seat +torch +totem pole +tow truck, tow car, wrecker +toyshop +tractor +trailer truck, tractor trailer, trucking rig, rig, articulated lorry, semi +tray +trench coat +tricycle, trike, velocipede +trimaran +tripod +triumphal arch +trolleybus, trolley coach, trackless trolley +trombone +tub, vat +turnstile +typewriter keyboard +umbrella +unicycle, monocycle +upright, upright piano +vacuum, vacuum cleaner +vase +vault +velvet +vending machine +vestment +viaduct +violin, fiddle +volleyball +waffle iron +wall clock +wallet, billfold, notecase, pocketbook +wardrobe, closet, press +warplane, military plane +washbasin, handbasin, washbowl, lavabo, wash-hand basin +washer, automatic washer, washing machine +water bottle +water jug +water tower +whiskey jug +whistle +wig +window screen +window shade +Windsor tie +wine bottle +wing +wok +wooden spoon +wool, woolen, woollen +worm fence, snake fence, snake-rail fence, Virginia fence +wreck +yawl +yurt +web site, website, internet site, site +comic book +crossword puzzle, crossword +street sign +traffic light, traffic signal, stoplight +book jacket, dust cover, dust jacket, dust wrapper +menu +plate +guacamole +consomme +hot pot, hotpot +trifle +ice cream, icecream +ice lolly, lolly, lollipop, popsicle +French loaf +bagel, beigel +pretzel +cheeseburger +hotdog, hot dog, red hot +mashed potato +head cabbage +broccoli +cauliflower +zucchini, courgette +spaghetti squash +acorn squash +butternut squash +cucumber, cuke +artichoke, globe artichoke +bell pepper +cardoon +mushroom +Granny Smith +strawberry +orange +lemon +fig +pineapple, ananas +banana +jackfruit, jak, jack +custard apple +pomegranate +hay +carbonara +chocolate sauce, chocolate syrup +dough +meat loaf, meatloaf +pizza, pizza pie +potpie +burrito +red wine +espresso +cup +eggnog +alp +bubble +cliff, drop, drop-off +coral reef +geyser +lakeside, lakeshore +promontory, headland, head, foreland +sandbar, sand bar +seashore, coast, seacoast, sea-coast +valley, vale +volcano +ballplayer, baseball player +groom, bridegroom +scuba diver +rapeseed +daisy +yellow lady's slipper, yellow lady-slipper, Cypripedium calceolus, Cypripedium parviflorum +corn +acorn +hip, rose hip, rosehip +buckeye, horse chestnut, conker +coral fungus +agaric +gyromitra +stinkhorn, carrion fungus +earthstar +hen-of-the-woods, hen of the woods, Polyporus frondosus, Grifola frondosa +bolete +ear, spike, capitulum +toilet tissue, toilet paper, bathroom tissue \ No newline at end of file diff --git a/samples/vision/hgnetv2/test_data/result.jpg b/samples/vision/hgnetv2/test_data/result.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dae6e467a7ca19a534cf10b66aaf0a13de5935ac GIT binary patch literal 98452 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

&gA!Y{Dh1|X;7Ibi$t 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ú?s6Y!_AifjBVJiZm{Hjn9V0}&Rz8$p82p)+$ zps0c*(dLa~+#7}2BZ8qgS7Zvv=l7s#zO83tZU^+^2nH(zjxLqfV9bM0 zh{b?K(4ZTGx9E4<`{A6z+{dC|0JLVf3`7HVBt5Kn@dtl#V{YB>S}~69q!2*~6r#nE zM*4pBx7z3Hglh!ZQO}VjFht~qWDKZIpj%J`4}O2|-v_;LkQm7fPL9C4Il7AmCyUq} zzaIEuBt&XO=Lv(7o3g?g+e~)Zm~K+$*IR>b++hO?T3wVN1en{_)fK5kl2EE6AZpy) z+uYjyyC1^}#{ezYk|Lh7nv)+EM2Xd%*lPz?#Cu&8Zz0k(3);!Iw*wTS`LIapLS(OnL0}Dl6gdD>&wHX*bx71c^?pWU6O}N_^Yjq7uE-(;emN3lvT@(-+z-(`Od;M*M zzy-o~$!rDE{y|{!TzN@VI*0m!+qY|B0JIcZWT-6RO16QgZ5CpsyL;QWd=lG$Zc0!K zt~&8uXJm5fTm_BZ=EFjb&4Amn>`oc*4tb{$hT4$)Mqr`_FDE`#UA~tCeeaC=ARJR1 z61c!J6iFz)F>;_1K_`RhU_O|rWE&}y4WA@ESFs?<$8hd%et#ScH{KBL#DuHWBz^)g zk~e)?bpc`l-0gqJ^Nn)ZR1Px)pvdZ6mI7G?z&9gF9G~{VEg9`olHnjiN=6EeQ7(oX ufhPN#?hUMcf8PTky);-}%c^7|>GKM`f=ECgh4C??PF|%C)YBULm;c$Nt3eU~ literal 0 HcmV?d00001 From c596a29a1fed504db814fb4ab9165a21afad7f90 Mon Sep 17 00:00:00 2001 From: Lwen1243 <1198807618@qq.com> Date: Fri, 5 Jun 2026 18:47:50 +0800 Subject: [PATCH 3/4] update hgnetv2_b4 --- .gitignore | 2 + samples/vision/hgnetv2/README.md | 99 +++++++++++++++++++ samples/vision/hgnetv2/README_cn.md | 12 +-- samples/vision/hgnetv2/evaluator/README.md | 47 +++++++++ samples/vision/hgnetv2/evaluator/README_cn.md | 4 +- .../vision/hgnetv2/runtime/python/README.md | 2 + .../hgnetv2/runtime/python/README_cn.md | 4 +- 7 files changed, 160 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index eb2aad5..793ebb6 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,5 @@ demos/detect/YOLO12/YOLO12-Detect_NCHWRGB/eval_cpp demos/detect/YOLO12/YOLO12-Detect_YUV420SP/eval_cpp GEMINI.md + +.DS_Store diff --git a/samples/vision/hgnetv2/README.md b/samples/vision/hgnetv2/README.md index e69de29..e80239f 100644 --- a/samples/vision/hgnetv2/README.md +++ b/samples/vision/hgnetv2/README.md @@ -0,0 +1,99 @@ +# HGNetV2 Model Description + +English | [简体中文](./README_cn.md) + +This directory provides complete usage instructions for the HGNetV2 sample in the Model Zoo, including algorithm overview, model conversion, runtime inference, model file management, and evaluation instructions. + +## Algorithm Introduction + +HGNetV2 is a next‑generation convolutional neural network (CNN) backbone designed to achieve the best balance between accuracy and latency on NVIDIA GPUs. Building upon the original HGNet, HGNetV2 achieves fast inference speed while maintaining high accuracy, and performs excellently in tasks such as image classification, object detection, and segmentation, making it an ideal choice for GPU‑based computer vision applications. + +- **Detailed Introduction**: [docs/en/models/ImageNet1k/PP-HGNetV2.md](https://github.com/PaddlePaddle/PaddleClas/blob/develop/docs/en/models/ImageNet1k/PP-HGNetV2.md) + +### Algorithm Functions + +HGNetV2 supports the following tasks: + +- ImageNet 1000‑class image classification + +### Algorithm Features + +- **Aggregating multiple receptive fields**: The HG‑Block combines multi‑scale features, capturing feature information of different sizes from shallow to deep layers, which is friendly to small object detection and recognition. +- **Improved stem module**: The initial preprocessing layers of the network are improved by stacking more \(2 \times 2\) convolution kernels to learn rich local features, while using smaller channel numbers, boosting performance on high‑resolution tasks. +- **Learnable downsampling (LDS)**: Integrates an adaptive downsampling layer that preserves more useful spatial details while reducing computational redundancy. + +## Directory Structure + +```text +. +|-- conversion +| |-- HGNetV2_medium.yaml +| |-- HGNetV2_small.yaml +| |-- README.md +| `-- README_cn.md +|-- evaluator +| |-- README.md +| `-- README_cn.md +|-- model +| |-- download.sh +| |-- README.md +| `-- README_cn.md +|-- runtime +| `-- python +| |-- main.py +| |-- HGNetV2.py +| |-- README.md +| |-- README_cn.md +| `-- run.sh +|-- test_data +| |-- sandbar.JPEG +| |-- classname.txt +| `-- result.png +|-- README.md +`-- README_cn.md +``` + +## Quick Start + +### Python + +- For detailed Python instructions, please refer to [runtime/python/README.md](./runtime/python/README.md). +- Quick start command: + +```bash +cd runtime/python +bash run.sh +``` + +## Model Conversion + +- Pre‑compiled `.bin` models are provided via the [model](./model/README.md) directory. +- Conversion instructions can be found in [conversion/README.md](./conversion/README.md). + +## Model Inference + +Currently, this sample maintains the Python inference path. + +- Python inference instructions: [runtime/python/README.md](./runtime/python/README.md) + +## Model Evaluation + +For evaluation instructions, performance data, and validation results, please refer to [evaluator/README.md](./evaluator/README.md). + +## Performance Data + +The following table shows the HGNetV2 performance data released on the `RDK X5`. + +| Model | Input Size | Params (M) | Float Top-1 | Quantized Top-1 | Single‑thread Latency (ms) | Multi‑thread Latency (ms) | FPS | +| --- | --- | --- | --- | --- | --- | --- | --- | +| HGNetv2_b0 | 224x224 | 6.0 | 77.342 | 72.17 | 1.96 | 3.29 | 902.09 | +| HGNetv2_b1 | 224x224 | 6.34 | 78.872 | 73.47 | 2.41 | 3.89 | 760.13 | +| HGNetv2_b2 | 224x224 | 11.2 | 81.578 | 75.55 | 3.52 | 7.41 | 401.16 | +| HGNetv2_b3 | 224x224 | 16.3 | 82.916 | 76.51 | 4.53 | 10.37 | 287.27 | +| HGNetv2_b4 | 224x224 | 19.8 | 83.694 | 81.93 | 5.29 | 12.32 | 241.94 | + +![Inference result](./test_data/result.jpg) + +## License + +Follows the top‑level License of the Model Zoo. \ No newline at end of file diff --git a/samples/vision/hgnetv2/README_cn.md b/samples/vision/hgnetv2/README_cn.md index 77160f6..8fbf8f2 100644 --- a/samples/vision/hgnetv2/README_cn.md +++ b/samples/vision/hgnetv2/README_cn.md @@ -1,7 +1,7 @@ -[English](./README.md) | 简体中文 - # HGNetV2 模型说明 +[English](./README.md) | 简体中文 + 本目录给出 HGNetV2 sample 在 Model Zoo 中的完整使用说明,包括算法概览、模型转换、运行时推理、模型文件管理和评测说明。 ## 算法介绍 @@ -87,10 +87,10 @@ bash run.sh | 模型 | 输入尺寸 | 参数量 (M) | 浮点 Top-1 | 量化 Top-1 | 单线程时延 (ms) | 多线程时延 (ms) | FPS | | --- | --- | --- | --- | --- | --- | --- | --- | | HGNetv2_b0 | 224x224 | 6.0 | 77.342 | 72.17 | 1.96 | 3.29 | 902.09 | -| HGNetv2_b1 | 224x224 | 6.34 | 78.872 | 73.47 | 2.41 | 3.60 | 760.13 | -| HGNetv2_b2 | 224x224 | 11.2 | 81.578 | 73.57 | 1.87 | 5.30 | 743.56 | -| HGNetv2_b3 | 224x224 | 16.3 | 82.916 | 71.25 | 1.71 | 4.47 | 881.19 | -| HGNetv2_b4 | 224x224 | 19.8 | 83.694 | 72.25 | 1.55 | 4.08 | 964.69 | +| HGNetv2_b1 | 224x224 | 6.34 | 78.872 | 73.47 | 2.41 | 3.89 | 760.13 | +| HGNetv2_b2 | 224x224 | 11.2 | 81.578 | 75.55 | 3.52 | 7.41 | 401.16 | +| HGNetv2_b3 | 224x224 | 16.3 | 82.916 | 76.51 | 4.53 | 10.37 | 287.27 | +| HGNetv2_b4 | 224x224 | 19.8 | 83.694 | 81.93 | 5.29 | 12.32 | 241.94 | ![推理结果](./test_data/result.jpg) diff --git a/samples/vision/hgnetv2/evaluator/README.md b/samples/vision/hgnetv2/evaluator/README.md index e69de29..0396264 100644 --- a/samples/vision/hgnetv2/evaluator/README.md +++ b/samples/vision/hgnetv2/evaluator/README.md @@ -0,0 +1,47 @@ +# Model Evaluation + +This directory provides benchmark instructions and validation references for the HGNetv2 sample. + +## Supported Models + +| Model | Input Size | Number of Classes | +| --- | --- | --- | +| HGNetv2_b0 | 224x224 | 1000 | +| HGNetv2_b1 | 224x224 | 1000 | +| HGNetv2_b2 | 224x224 | 1000 | +| HGNetv2_b3 | 224x224 | 1000 | +| HGNetv2_b4 | 224x224 | 1000 | + +## Test Environment + +- Platform: `RDK X5` +- Runtime Backend: `hbm_runtime` +- Model Format: `.bin` +- CPU: 8xA55@1.8GHz, all cores in Performance mode +- BPU: 1xBayes-e@1GHz, equivalent to 10 TOPS INT8 compute power + +## Metrics Description + +- **Float Top-1**: Classification accuracy of the ONNX model before quantization. +- **Quantized Top-1**: Actual inference accuracy of the deployed quantized model. +- **Single‑thread Latency**: Inference latency for a single frame, single thread, and single BPU core. +- **Multi‑thread Latency**: Measured latency under multi‑threaded task submission. +- **FPS**: Multi‑thread throughput test result on `RDK X5`. + +## Benchmark Results + +| Model | Input Size | Params (M) | Float Top-1 | Quantized Top-1 | Single‑thread Latency (ms) | Multi‑thread Latency (ms) | FPS | +| --- | --- | --- | --- | --- | --- | --- | --- | +| HGNetv2_b0 | 224x224 | 6.0 | 77.342 | 72.17 | 1.96 | 3.29 | 902.09 | +| HGNetv2_b1 | 224x224 | 6.34 | 78.872 | 73.47 | 2.41 | 3.89 | 760.13 | +| HGNetv2_b2 | 224x224 | 11.2 | 81.578 | 75.55 | 3.52 | 7.41 | 401.16 | +| HGNetv2_b3 | 224x224 | 16.3 | 82.916 | 76.51 | 4.53 | 10.37 | 287.27 | +| HGNetv2_b4 | 224x224 | 19.8 | 83.694 | 81.93 | 5.29 | 12.32 | 241.94 | + +## Validation Instructions + +This sample is validated through the standard Python inference pipeline: + +- `evaluator/eval.py` + +The validation dataset is ImageNet-1k val. \ No newline at end of file diff --git a/samples/vision/hgnetv2/evaluator/README_cn.md b/samples/vision/hgnetv2/evaluator/README_cn.md index f6773b2..7ab0a6c 100644 --- a/samples/vision/hgnetv2/evaluator/README_cn.md +++ b/samples/vision/hgnetv2/evaluator/README_cn.md @@ -37,8 +37,8 @@ | HGNetv2_b0 | 224x224 | 6.0 | 77.342 | 72.17 | 1.96 | 3.29 | 902.09 | | HGNetv2_b1 | 224x224 | 6.34 | 78.872 | 73.47 | 2.41 | 3.89 | 760.13 | | HGNetv2_b2 | 224x224 | 11.2 | 81.578 | 75.55 | 3.52 | 7.41 | 401.16 | -| HGNetv2_b3 | 224x224 | 16.3 | 82.916 | 71.25 | 1.71 | 4.47 | 881.19 | -| HGNetv2_b4 | 224x224 | 19.8 | 83.694 | 72.25 | 1.55 | 4.08 | 964.69 | +| HGNetv2_b3 | 224x224 | 16.3 | 82.916 | 76.51 | 4.53 | 10.37 | 287.27 | +| HGNetv2_b4 | 224x224 | 19.8 | 83.694 | 81.93 | 5.29 | 12.32 | 241.94 | ## 验证说明 diff --git a/samples/vision/hgnetv2/runtime/python/README.md b/samples/vision/hgnetv2/runtime/python/README.md index f8d1365..801c6db 100644 --- a/samples/vision/hgnetv2/runtime/python/README.md +++ b/samples/vision/hgnetv2/runtime/python/README.md @@ -1,5 +1,7 @@ # HGNetV2 Image Classification Python Example +English | [简体中文](./README_cn.md) + This example demonstrates how to perform ImageNet-1k image classification tasks on the BPU using a quantized HGNetV2 model. ## Directory Structure diff --git a/samples/vision/hgnetv2/runtime/python/README_cn.md b/samples/vision/hgnetv2/runtime/python/README_cn.md index d5536c6..2998808 100644 --- a/samples/vision/hgnetv2/runtime/python/README_cn.md +++ b/samples/vision/hgnetv2/runtime/python/README_cn.md @@ -1,7 +1,7 @@ -[English](./README.md) | 简体中文 - # HGNetV2 图像分类 Python 示例 +[English](./README.md) | 简体中文 + 本示例展示如何在 BPU 上使用量化后的 HGNetV2 模型执行 ImageNet-1k 图像分类任务。 ## 目录结构 From b72c291c03a3093d5dd935844223c427dcf9333a Mon Sep 17 00:00:00 2001 From: Lwen1243 <1198807618@qq.com> Date: Fri, 5 Jun 2026 21:48:27 +0800 Subject: [PATCH 4/4] .DS_Store banished --- samples/vision/.DS_Store | Bin 10244 -> 0 bytes samples/vision/hgnetv2/.DS_Store | Bin 8196 -> 0 bytes samples/vision/hgnetv2/conversion/.DS_Store | Bin 8196 -> 0 bytes .../hgnetv2/conversion/onnx_export/.DS_Store | Bin 6148 -> 0 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 samples/vision/.DS_Store delete mode 100644 samples/vision/hgnetv2/.DS_Store delete mode 100644 samples/vision/hgnetv2/conversion/.DS_Store delete mode 100644 samples/vision/hgnetv2/conversion/onnx_export/.DS_Store diff --git a/samples/vision/.DS_Store b/samples/vision/.DS_Store deleted file mode 100644 index 0fa07f2cd6b47e99b0f6084206ed935d2833ec49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10244 zcmeHNL2nyH6n^8n@tP#fCQV8aAX)VVsZmMOG^pZ$>!d;vLW$z2O_a3m+TOTJH#=r` z?KDI|KEsU*H!l1DBu*UR2f&dlNZb(@&f%MxwY$6Cv^gOvW~|*eJM+GodEd;u@mrgS zShd@_NmL>t1DBBI1a28g)Qf8*<)V@@BmF!X;!Sl6@tm>%dKh0FZeU%Y?lA>JM2G1(20U_LW2l z5>rq}1!Yl)!J^24DLCpYk$zuE1t%tZMmtf@EQ(NA6nLw?scQI<6Ch3k$!p+=cwbv4T-B#*K%yC;YG$T46V+TK=wh+Tz@84Dwdv zzGENO&Dj<1g_h&lz63Ze8!CGb9IwR>tGw&A0*S4u3ZrNg>*m$tzWl53KslGzWGS zUmKs8yfkG_&s?6Kot~SUyYl+gH)h^^t8QLySk0$xUyOH!yWFq3UAt~h1+aRp$-NEV z?!nsa(0&%yoX=1-lLBnotw+y`wvIZ`nSEX$8~xC?ZEv^jJFWHo{lE^lWBDD?Thr&R zyTJn|bhx*(CwmX=gEeoTqen4<^^T|t?%RF<7+aoQif#FExH3)+IEUd@!v?yU+@OSQe-2d2 zor&##4%Dq=U&0xj1GSVy35SqC6%%%eL&8oW;1m*wF^Onpx;??#=P}lbv;jxi!bh;S zPAjyTY+W*zL~PPMtcO+l81e@CY9$eptvJHK4BD8-He4HAX4-j6p5pprk$w+|cCu~B zPPXpIp&$;EgsrOG;7nfrjPX*CV^F%8$1#g*o74q=Autx?5pv?74XBPhM+r|_AsLF} zXI_SpuqQ_rH#<7jj>HWW%K_Nk%=qNzlO7(~(0 z?g)28S7Sq=q61NMAbMn?BNQS>N1h|yfw&4yX%sLDbSofY_kJkKh`rt#zb^*7SO|Cl z?P5!1Fi-EwgtdJ*g{`QnIqwVAz>ngYnJ*;K(|hP}pVem#Sa)*|_*O3V;#!pP!gcYq z!g)|=*1f`QpKj&tv1^>gp3i6~34V#9%f=m_mH1YM*H|f%+?+C4Nh_JRQ`_6KGjmhU zh4~9RQ_lAM>>oHXcy!1f9vK}T8y+7YKXyEIV&vqhyggd*ijT^nnDsRt@Guk9Xx<)*aP5ml z&Xz-3$2G6U^huoapP^}_gOH`Adw-f%o>tLk>`#O2^hQW2TQ7%xX=!saqVZ}=eNBv3 z40#YN^T>~V&ek^M=rOGaA zBwU3YY`|k^z${76>;+A&Jl;hjW3iXZf1 z$m2T1s=aoGJQiNJ91B7!c>^Ol*qeBEH8vDt3np{_OBqaI6gV&ideq1%5&vJueQUl0 z9N14`1~v*Dm;$7CA-5o2@YU7aJrD8r;b6XxStQ}tP$(%_2p7>V!*Rsle;8uj(Kc6O TLm^r)nHK>mgDH#xe^r5Bg8wdS diff --git a/samples/vision/hgnetv2/conversion/.DS_Store b/samples/vision/hgnetv2/conversion/.DS_Store deleted file mode 100644 index b74be2582d54a542fd9cbe8ef770a7c11030db44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMO-~a+7=EXqYz1Wb6r(1My_i6-e25_)ECphSF%U`+0$6t2p{y)3b$9uako2rK zFW$WP157-5)E}TnubTJ=ym-cUKFW8Ko{YwMlbPq;dEaMd=h^H`XA1x%vsvf|=mr1_ zi$J>(t8+}mMLAzTvO>9ZU?qQFI`BWTHDZptFm9!z#gi`j)?{5_`Dl| zqh<_t@OuZvx`fvOL?_jX1+}rJ7;%{aTYlqqk$xN1&S$4k3Cl4+Zn#e3Zdj?Rltf{@tobg zw>OX)?oAAh4DI(O_C^L$=noF>@5imqB<#F8x`?8AZ~x ziX_tyb&3T&FbY{%f@e^M*YFnJ!6*0vKj0S}kY>_FZjv6-OYV@nBuz%i3|S;A#34@= zKUR6 zRqj}y9QDq3+Oz(hcD_^1iqfP$!=;91G1J1yYGQgUxGCVZ&)){aHoPjk1`h5sg z#WG_wOrH)mdUVn8fuaigdL&c~8Ow~(kRueaP@;uOzG8@l(;l*4nK2q#I3&%?Jb7lx zHxx;;(;kvLq%`!_8E^)+8Q8POk=Fn7-S_|PAb)ZOoPmGEfDC4rvx={jYisM}wAKdd qHC09ZqTxD(om7hHtEG5MO+tIn4zbJ_4QZkHK_JoKjWh78415Bwm~93C