docs: update documentation for chart recognition enablement

Updates all project documentation to reflect that chart recognition
is now fully enabled with PaddlePaddle 3.2.1+.

Changes:
- README.md: Remove Known Limitations section about chart recognition,
  update tech stack and prerequisites to include PaddlePaddle 3.2.1+,
  add WSL CUDA configuration notes
- openspec/project.md: Add comprehensive chart recognition feature
  descriptions, update system requirements for GPU/CUDA support
- openspec/changes/add-gpu-acceleration-support/tasks.md: Mark task
  5.4 as completed with resolution details
- openspec/changes/add-gpu-acceleration-support/proposal.md: Update
  Known Issues section to show chart recognition is now resolved
- setup_dev_env.sh: Upgrade PaddlePaddle from 3.0.0 to 3.2.1+, add
  WSL CUDA library path configuration, add chart recognition API
  verification

All documentation now accurately reflects:
 Chart recognition fully enabled
 PaddlePaddle 3.2.1+ with fused_rms_norm_ext API
 WSL CUDA path auto-configuration
 Comprehensive PP-StructureV3 capabilities

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
egg
2025-11-16 19:04:30 +08:00
parent 7e12f162b4
commit 3f41a33877
5 changed files with 147 additions and 67 deletions

View File

@@ -52,29 +52,33 @@ PaddleOCR supports CUDA GPU acceleration which can significantly improve OCR pro
## Known Issues and Limitations
### Chart Recognition Feature Disabled (PaddlePaddle 3.0.0 API Limitation)
### ~~Chart Recognition Feature Disabled~~ ✅ **RESOLVED** (2025-11-16)
**Issue**: Chart recognition feature in PP-StructureV3 is currently disabled due to API incompatibility.
**Previous Issue**: Chart recognition feature in PP-StructureV3 was disabled due to API incompatibility with PaddlePaddle 3.0.0.
**Root Cause**:
**Resolution**:
- **Fixed in**: PaddlePaddle 3.2.1 (released 2025-10-30)
- **Current Status**: ✅ Chart recognition **FULLY ENABLED**
- **API Status**: `paddle.incubate.nn.functional.fused_rms_norm_ext` now available
- **Documentation**: See [CHART_RECOGNITION.md](../../../CHART_RECOGNITION.md) for details
**Root Cause** (Historical):
- PaddleOCR-VL chart recognition model requires `paddle.incubate.nn.functional.fused_rms_norm_ext` API
- PaddlePaddle 3.0.0 stable only provides `fused_rms_norm` (base version)
- The extended version `fused_rms_norm_ext` is not yet available in stable release
- PaddlePaddle 3.0.0 stable only provided `fused_rms_norm` (base version)
- The extended version `fused_rms_norm_ext` was not available in 3.0.0
**Impact**:
- **Still Works**: Layout analysis can detect and extract chart/figure regions as images
- **Still Works**: Tables, formulas, and text recognition all function normally
- **Disabled**: Deep chart understanding (chart type detection, data extraction, axis/legend parsing)
- **Disabled**: Converting chart content to structured data (JSON, tables)
**Current Capabilities** (✅ All Enabled):
- ✅ Layout analysis detects and extracts chart/figure regions as images
- ✅ Tables, formulas, and text recognition function normally
- **Deep chart understanding** (chart type detection, data extraction, axis/legend parsing)
- **Converting chart content to structured data** (JSON, tables)
**Workaround**:
- Set `use_chart_recognition=False` in PP-StructureV3 initialization
- Charts are saved as image files but content is not analyzed
**Actions Taken**:
- Upgraded system to PaddlePaddle 3.2.1+
- Enabled chart recognition in PP-StructureV3 initialization
- Configured WSL CUDA library paths for GPU support
- Updated all documentation to reflect enabled status
**Future Resolution**:
- Wait for PaddlePaddle 3.0.x/3.1.x update that adds `fused_rms_norm_ext` API
- Or use PaddlePaddle develop version (unstable, not recommended for production)
**Code Location**: [backend/app/services/ocr_service.py:217](../../backend/app/services/ocr_service.py#L217)
**Code Location**: [backend/app/services/ocr_service.py:216](../../backend/app/services/ocr_service.py#L216)
**Status**: Documented limitation, pending PaddlePaddle framework update
**Status**: ✅ **RESOLVED** - Chart recognition fully operational