feat: add YOLOv8n ONNX model and ATC conversion script
- yolov8n.onnx (13MB) exported from ultralytics YOLOv8n - scripts/atc_convert.sh for ONNX->OM conversion on Ascend 310B4 - Use FP16 precision for faster inference on edge device
This commit is contained in:
42
scripts/atc_convert.sh
Normal file
42
scripts/atc_convert.sh
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# ATC 模型转换脚本
|
||||||
|
# 在高性能电脑(CANN 环境)上执行
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
|
cd "$SCRIPT_DIR"
|
||||||
|
|
||||||
|
MODEL=${MODEL:-yolov8n}
|
||||||
|
INPUT_SIZE=${INPUT_SIZE:-640}
|
||||||
|
OUTPUT_TYPE=${OUTPUT_TYPE:-FP16}
|
||||||
|
|
||||||
|
echo "=========================================="
|
||||||
|
echo " ATC ONNX -> OM 模型转换"
|
||||||
|
echo "=========================================="
|
||||||
|
echo "模型: $MODEL.onnx"
|
||||||
|
echo "输入尺寸: ${INPUT_SIZE}x${INPUT_SIZE}"
|
||||||
|
echo "输出精度: $OUTPUT_TYPE"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 限制并行度,避免内存溢出
|
||||||
|
export TBE_IMPL_MODE=AI_CORE
|
||||||
|
export TE_PARALLEL_COMPILER=1
|
||||||
|
|
||||||
|
atc \
|
||||||
|
--model=${MODEL}.onnx \
|
||||||
|
--framework=5 \
|
||||||
|
--output=${MODEL} \
|
||||||
|
--soc_version=Ascend310B4 \
|
||||||
|
--input_format=NCHW \
|
||||||
|
--input_shape="images:1,3,${INPUT_SIZE},${INPUT_SIZE}" \
|
||||||
|
--output_type=${OUTPUT_TYPE}
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
if [ -f ${MODEL}.om ]; then
|
||||||
|
echo "转换成功!"
|
||||||
|
echo "输出: ${MODEL}.om"
|
||||||
|
ls -lh ${MODEL}.om
|
||||||
|
else
|
||||||
|
echo "转换失败,请检查日志"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
BIN
yolov8n.onnx
Normal file
BIN
yolov8n.onnx
Normal file
Binary file not shown.
Reference in New Issue
Block a user