Skip to content

Commit a734a69

Browse files
committed
v1.9.0: 修复YOLO检测器参数传递问题并优化AMD GPU支持
- 修复YOLO OBB检测器未正确接收min_box_area_ratio参数的问题 - 移除对AMD RX 5000/6000系列的GPU支持,改用CPU版本 - 更新AMD GPU支持文档和安装脚本
1 parent 7f27025 commit a734a69

6 files changed

Lines changed: 93 additions & 25 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
- ✓ 检测显卡类型(NVIDIA / AMD / 集显)
7979
- ✓ 自动选择对应的 PyTorch 版本
8080
- NVIDIA: CUDA 12.x 版本(需驱动 >= 525.60.13)
81-
- AMD: ROCm 版本(实验性支持,支持 RX 5000/6000/7000/9000 系列)
81+
- AMD: ROCm 版本(实验性支持,仅支持 RX 7000/9000 系列,RX 5000/6000 请使用 CPU 版本
8282
- 其他: CPU 版本(通用,速度较慢)
8383
- ✓ 安装所有依赖
8484

desktop_qt_ui/widgets/file_list_view.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -185,13 +185,18 @@ def _on_thumbnail_loaded(self, file_path: str, pixmap: Optional[QPixmap]):
185185
"""在主线程中接收缩略图加载完成的信号"""
186186
self._thumbnail_loading = False
187187

188-
if pixmap:
189-
self.thumbnail_label.setPixmap(pixmap)
190-
# 缓存缩略图(只缓存一次)
191-
if file_path not in FileItemWidget._thumbnail_cache:
192-
FileItemWidget._thumbnail_cache[file_path] = pixmap
193-
else:
194-
self.thumbnail_label.setText("ERR")
188+
# 检查 widget 是否还存在
189+
try:
190+
if pixmap:
191+
self.thumbnail_label.setPixmap(pixmap)
192+
# 缓存缩略图(只缓存一次)
193+
if file_path not in FileItemWidget._thumbnail_cache:
194+
FileItemWidget._thumbnail_cache[file_path] = pixmap
195+
else:
196+
self.thumbnail_label.setText("ERR")
197+
except RuntimeError:
198+
# Widget 已被删除,忽略
199+
pass
195200

196201
def _emit_remove_request(self):
197202
self.remove_requested.emit(self.file_path)

doc/CHANGELOG_v1.9.0.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# v1.9.0 更新日志
2+
3+
发布日期:2024-11-28
4+
5+
## 🐛 Bug 修复
6+
7+
### 检测器修复
8+
- **修复 YOLO 辅助检测器面积过滤参数传递问题**
9+
- 修复了 YOLO OBB 检测器未正确接收 `min_box_area_ratio` 参数的问题
10+
- 现在用户设置的最小检测框面积占比会正确应用到 YOLO 检测器
11+
- 解决了 UI 设置为 0 但实际使用默认值 0.0009 的问题
12+
13+
## 🔧 优化改进
14+
15+
### AMD GPU 支持优化
16+
- **更新 AMD ROCm PyTorch 支持策略**
17+
- 移除对 RDNA 1 (RX 5000 系列) 和 RDNA 2 (RX 6000 系列) 的 GPU 加速支持
18+
- 这些显卡将自动使用 CPU 版本以获得更好的稳定性
19+
- 仅保留对 RDNA 3 (RX 7000 系列) 和 RDNA 4 (RX 9000 系列) 的 GPU 支持
20+
- 更新了安装脚本和文档说明
21+
22+
### 文档更新
23+
- 更新 `requirements_amd.txt` 中的显卡支持说明
24+
- 更新 README.md 中的 AMD GPU 支持信息
25+
- 添加了不支持显卡的明确提示
26+
27+
## 📝 技术细节
28+
29+
### 代码变更
30+
- `manga_translator/detection/__init__.py`: 修复 YOLO 检测器调用时的参数传递
31+
- `packaging/launch.py`: 注释掉 gfx101X-dgpu 和 gfx103X-dgpu 的自动检测
32+
- `requirements_amd.txt`: 更新显卡支持说明和示例命令
33+
- `README.md`: 更新 AMD GPU 支持范围说明
34+
35+
### 影响范围
36+
- 使用 AMD RX 5000/6000 系列显卡的用户将自动使用 CPU 版本
37+
- 使用 AMD RX 7000/9000 系列显卡的用户不受影响
38+
- 所有用户的检测器面积过滤设置现在都能正确生效
39+
40+
## 🔄 升级说明
41+
42+
### 对于现有用户
43+
1. 如果您使用的是 AMD RX 5000/6000 系列显卡:
44+
- 系统将自动引导您使用 CPU 版本
45+
- 这将提供更好的稳定性和兼容性
46+
47+
2. 如果您使用的是 AMD RX 7000/9000 系列显卡:
48+
- 继续使用 GPU 加速版本
49+
- 无需任何更改
50+
51+
3. 如果您之前设置了 `min_box_area_ratio` 参数:
52+
- 现在该参数会正确应用到所有检测器
53+
- 建议重新测试您的检测设置
54+
55+
## ⚠️ 注意事项
56+
57+
- AMD ROCm PyTorch 仍然是实验性功能
58+
- 建议 AMD 用户在遇到问题时切换到 CPU 版本
59+
- CPU 版本虽然速度较慢,但稳定性和兼容性最好

manga_translator/detection/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ async def dispatch(detector_key: Detector, image: np.ndarray, detect_size: int,
6666
# YOLO OBB检测(使用yolo_obb_conf作为text_threshold)
6767
yolo_textlines, _, _ = await yolo_detector.detect(
6868
image, detect_size, yolo_obb_conf, box_threshold, unclip_ratio,
69-
invert, gamma_correct, rotate, auto_rotate, verbose
69+
invert, gamma_correct, rotate, auto_rotate, verbose, min_box_area_ratio
7070
)
7171

7272
# 智能合并:YOLO框可以替换过小的主检测器框,或添加新框

packaging/launch.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -321,17 +321,17 @@ def detect_amd_gfx_version(gpu_name):
321321
'name': 'RDNA 3 (RX 7000 系列)'
322322
},
323323

324-
# RDNA 2 架构 (RX 6000 系列)
325-
'gfx103X-dgpu': {
326-
'keywords': ['RX 6', '6900', '6800', '6700', '6600', '6500', '6400'],
327-
'name': 'RDNA 2 (RX 6000 系列)'
328-
},
324+
# RDNA 2 架构 (RX 6000 系列) - 不支持,使用CPU
325+
# 'gfx103X-dgpu': {
326+
# 'keywords': ['RX 6', '6900', '6800', '6700', '6600', '6500', '6400'],
327+
# 'name': 'RDNA 2 (RX 6000 系列) - 不支持,请使用CPU版本'
328+
# },
329329

330-
# RDNA 1 架构 (RX 5000 系列)
331-
'gfx101X-dgpu': {
332-
'keywords': ['RX 5', '5700', '5600', '5500'],
333-
'name': 'RDNA 1 (RX 5000 系列)'
334-
},
330+
# RDNA 1 架构 (RX 5000 系列) - 不支持,使用CPU
331+
# 'gfx101X-dgpu': {
332+
# 'keywords': ['RX 5', '5700', '5600', '5500'],
333+
# 'name': 'RDNA 1 (RX 5000 系列) - 不支持,请使用CPU版本'
334+
# },
335335

336336
# Vega 架构
337337
'gfx90X-dcgpu': {

requirements_amd.txt

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@
1414
# - gfx1151: RX 7800 XT, RX 7700 XT, RX 7600 (Navi 32/33)
1515
# - gfx110X-all: 通用 RX 7000 系列支持
1616
#
17-
# RDNA 2 架构 (RX 6000 系列):
17+
# RDNA 2 架构 (RX 6000 系列): ⚠️ 不支持,请使用 CPU 版本
1818
# - gfx103X-dgpu: RX 6900 XT, RX 6800 XT, RX 6800, RX 6700 XT,
1919
# RX 6600 XT, RX 6600, RX 6500 XT, RX 6400
20+
# 注意:这些显卡不支持 AMD ROCm PyTorch,请使用 requirements_cpu.txt
2021
#
21-
# RDNA 1 架构 (RX 5000 系列):
22+
# RDNA 1 架构 (RX 5000 系列): ⚠️ 不支持,请使用 CPU 版本
2223
# - gfx101X-dgpu: RX 5700 XT, RX 5700, RX 5600 XT, RX 5600, RX 5500 XT
24+
# 注意:这些显卡不支持 AMD ROCm PyTorch,请使用 requirements_cpu.txt
2325
#
2426
# Vega 架构:
2527
# - gfx90X-dcgpu: Radeon VII, Radeon Vega 64/56, MI25, MI50, MI60
@@ -34,14 +36,16 @@
3436
# ===================================================================================
3537
# 示例安装命令:
3638
#
37-
# RX 6800 XT (RDNA 2):
38-
# python -m pip install torch torchvision torchaudio \
39-
# --index-url https://d2awnip2yjpvqn.cloudfront.net/v2/gfx103X-dgpu/
40-
#
4139
# RX 7900 XTX (RDNA 3):
4240
# python -m pip install torch torchvision torchaudio \
4341
# --index-url https://d2awnip2yjpvqn.cloudfront.net/v2/gfx1150/
4442
#
43+
# RX 7800 XT (RDNA 3):
44+
# python -m pip install torch torchvision torchaudio \
45+
# --index-url https://d2awnip2yjpvqn.cloudfront.net/v2/gfx1151/
46+
#
47+
# ⚠️ RX 6000/5000 系列不支持,请使用 requirements_cpu.txt
48+
#
4549
# ===================================================================================
4650
# 注意事项:
4751
# - AMD ROCm PyTorch 是实验性功能,稳定性可能不如 NVIDIA CUDA 版本

0 commit comments

Comments
 (0)