horizonrobotics/oe-skills/j6-plugin-set-fake-quantize

Claude Code and agent skill by horizonrobotics/oe-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

在适配 horizon_plugin_pytorch 的量化流程中,为模型设置 fake quantize 状态(QAT/CALIBRATION/VALIDATION)。只添加/调用 set_fake_quantize,不做其他修改。

Install

npx vskill@latest install horizonrobotics/oe-skills/j6-plugin-set-fake-quantize

SKILL.md

为 Horizon 量化流程设置 fake quantize 状态(set_fake_quantize)

目标

在使用 horizon_plugin_pytorch 的 Calibration / QAT / Validation 流程时,按阶段为模型设置正确的 fake quantize 状态:

  • Calibration 前:CALIBRATION
  • QAT(训练)前:QAT
  • Validation(评估)前:VALIDATION

本 Skill 只做一件事:在合适位置添加/调用

python
horizon.quantization.set_fake_quantize(model, horizon.quantization.FakeQuantState.<STATE>)

不引入任何其他改动(不改模型结构、不改 qconfig、不改 prepare/convert、不改训练/数据逻辑)。

标准改法(通用模板)

1) 选择状态枚举值

fake quantize 有三种状态:

python
class FakeQuantState(Enum):
QAT = "qat"
CALIBRATION = "calibration"
VALIDATION = "validation"

语义与行为约束(按官方说明):

  • CALIBRATION:仅观测各算子输入/输出统计量(observer 统计)。
  • QAT:观测统计量 + 执行伪量化(fake quant)。
  • VALIDATION:仅执行伪量化,不再观测统计量。
2) 在阶段入口处调用 set_fake_quantize
Calibration 前
python
model.eval()
horizon.quantization.set_fake_quantize(
model, horizon.quantization.FakeQuantState.CALIBRATION
)
QAT(训练)前
python
horizon.quantization.set_fake_quantize(
model, horizon.quantization.FakeQuantState.QAT
)
Validation(评估)前
python
model.eval()
horizon.quantization.set_fake_quantize(
model, horizon.quantization.FakeQuantState.VALIDATION
)

关键注意事项(必须遵守)

1) Calibration 状态下不要再调用 model.eval()

一旦设置为 FakeQuantState.CALIBRATION,请勿再使用 `model.eval()`,否则将无法正常进行校准。

如果你的流程需要在校准时切换到 eval,请改为:

  • 先 model.eval()(如果你确实需要 eval)
  • 再 set_fake_quantize(..., CALIBRATION)

并确保后续不再重复调用 model.eval()。

2) Validation 的顺序要求

Validation 推荐固定顺序:

  • 先 model.eval()
  • 再 set_fake_quantize(..., VALIDATION)

以保证评估时不再更新统计量,仅执行伪量化。

3) 不要混用状态(尤其是训练/评估循环)

如果你的代码存在多个入口(如:训练脚本、校准脚本、导出脚本),每个入口都要在其对应阶段入口处显式设置状态,避免:

  • QAT 训练时仍处于 CALIBRATION
  • Validation 评估时仍处于 QAT

快速自检清单

  • Calibration 前调用:set_fake_quantize(model, CALIBRATION),且之后不再 model.eval()。
  • QAT 训练前调用:set_fake_quantize(model, QAT)。
  • Validation 前调用:model.eval() 后紧接 set_fake_quantize(model, VALIDATION)。

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/horizonrobotics/oe-skills/j6-plugin-set-fake-quantize/badge)](https://verified-skill.com/skills/horizonrobotics/oe-skills/j6-plugin-set-fake-quantize)

Something wrong with this skill or its page? Tell us.