Prhub

#23455 [AMD] Restore test_zimage_turbo.py and test_int4fp8_moe.py with __main__ entry

原始 PR 作者 bingxche 合并时间 2026-04-23 13:28 文件变更 2 提交数 3 评论 4 代码增减 +220 / -0

执行摘要

恢复 AMD 测试文件,添加 __main__ 入口以修复 CI 静默跳过。

PR body指出,文件在#23305中被移除,原因是缺少__main__入口块,导致在CI中静默跳过。添加入口点以确保测试在python3 file.py -f下能实际执行,提升测试覆盖率。

建议测试维护者关注入口点添加模式,以确保测试文件能正确执行;对于性能敏感测试,可考虑实现模型缓存以优化CI运行时间。

讨论亮点

review中,gemini-code-assist[bot]指出两个问题:在test_zimage_turbo.py中,CLIP模型和处理器每次调用都加载,建议缓存以提升性能;在test_int4fp8_moe.py中,est_time=313可能低估了测试时间,建议更新。PR被批准合并,但这些问题可能未在本次PR中解决。

实现拆解

  1. 恢复Z-Image-Turbo测试文件:在test/registered/amd/test_zimage_turbo.py中添加if __name__ == "__main__": sys.exit(pytest.main([__file__, "-v"])),使pytest测试能作为脚本运行。
  2. 恢复int4fp8_moe量化测试文件:在test/registered/quant/test_int4fp8_moe.py中添加if __name__ == "__main__": unittest.main(),确保unittest测试能独立执行。
  3. CI suite注册调整:在提交中调整了register_amd_ci的suite参数,确保测试被正确调度到AMD CI套件(如从stage-b-test-1-gpu-small-amd改为stage-b-test-2-gpu-large-amd)。
文件 模块 状态 重要度
test/registered/amd/test_zimage_turbo.py 扩散测试 added 7.02
test/registered/quant/test_int4fp8_moe.py 量化测试 added 6.65

关键符号

_save_image_and_write_summary _compute_clip_score TestZImageTurboAMD.test_diffusion_generation TestMixtralAccuracy.test_gsm8k

关键源码片段

test/registered/amd/test_zimage_turbo.py test-coverage

恢复 Z-Image-Turbo 扩散模型测试,添加 pytest 入口点以确保 CI 执行

import sys
import pytest# ... 其他导入和测试代码 ...if __name__ == "__main__":
    # 添加 pytest 入口点,使文件能作为脚本运行,确保 CI 测试执行
    sys.exit(pytest.main([__file__, "-v"]))
test/registered/quant/test_int4fp8_moe.py test-coverage

恢复 Mixtral-8x7B int4fp8_moe 量化准确性测试,添加 unittest 入口点以确保 CI 执行

import unittest# ... 其他导入和测试代码 ...class TestMixtralAccuracy(CustomTestCase):
    # 测试类定义,包括 setUpClass、tearDownClass 和 test_gsm8k 方法
    @classmethod
    def setUpClass(cls):
        cls.model = "mistralai/Mixtral-8x7B-Instruct-v0.1"
        # 启动服务器等初始化逻辑
        cls.process = popen_launch_server(cls.model, cls.base_url, timeout=45 * 60, other_args=other_args)
​
    def test_gsm8k(self):
        # 运行 GSM8K 评估并断言准确性
        metrics = run_eval(args)
        self.assertGreater(metrics["score"], 0.56)if __name__ == "__main__":
    # 添加 unittest 入口点,使测试能独立执行
    unittest.main()

评论区精华

CLIP 模型缓存建议 性能

gemini-code-assist[bot] 建议在 `_compute_clip_score` 函数中缓存 CLIP 模型和处理器,以避免每次调用都从磁盘或网络加载,提升测试性能。

结论:建议未在 PR 中实施,PR 已合并,但性能优化可能作为后续改进。 · 待处理

测试时间估计更新 测试

gemini-code-assist[bot] 指出 `est_time=313` 可能低估了 Mixtral-8x7B 准确性测试的实际运行时间,建议更新为更现实的值以避免 CI 调度问题。

结论:建议未在 PR 中实施,PR 已合并,但时间估计可能需后续调整。 · 待处理

风险与影响

风险较低:主要风险是测试性能瓶颈(CLIP模型加载)可能导致CI时间增加;est_time低估可能引起CI调度问题或超时。但变更本身是测试修复,不影响生产代码。

影响范围:确保AMD相关的扩散模型和量化测试在CI中运行,提高测试覆盖率,有助于早期发现问题。对最终用户无直接影响,但提升了系统维护的可靠性。

测试性能瓶颈 CI 时间估计不足

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论