MinerU 不使用顯卡怎麼辦?把 CPU 版 PyTorch 換成 CUDA 版讓 RTX 4060 生效

記錄 MinerU 環境中 PyTorch 顯示 2.8.0+cpu、CUDA unavailable 時的排查方法,以及如何在同一個 .venv 中安裝 CUDA 12.8 版 PyTorch 並驗證 RTX 4060 是否生效。

如果 MinerU 環境裡檢查 PyTorch 後看到下面這種結果:

1
2
3
4
5
PyTorch: 2.8.0+cpu
PyTorch CUDA: None
CUDA available: False
GPU count: 0
GPU: 未检测到

基本可以確定:目前環境安裝的是 CPU 版 PyTorch,所以 MinerU 不會使用 NVIDIA GPU。即使電腦裡有 RTX 4060,只要 Python 環境裡的 torch 是 CPU 版,MinerU 也只能走 CPU。

解決思路很直接:在同一個 .venv 裡,把 torchtorchvision 換成 CUDA 版。對於 PyTorch 2.8.0,官方提供 CUDA 12.8 對應版本,可以直接安裝 cu128 輪子。

先確認 NVIDIA 驅動正常

在 PowerShell 執行:

1
nvidia-smi

正常情況下應該能看到類似資訊:

1
2
3
NVIDIA GeForce RTX 4060
Driver Version: ...
CUDA Version: 12.x

這裡顯示的 CUDA Version 是目前顯卡驅動最高支援的 CUDA 版本。只要 nvidia-smi 能正常識別顯卡,通常不需要另外安裝完整的 CUDA Toolkit。

如果連 nvidia-smi 都無法識別顯卡,先不要折騰 PyTorch,應該先更新或重新安裝 NVIDIA 驅動。

進入 MinerU 使用的虛擬環境

先進入 MinerU 所在目錄。這裡以 C:\Work\test 為例:

1
cd C:\Work\test

如果專案使用 .venv,啟用它:

1
.\.venv\Scripts\Activate.ps1

確認目前 Python 路徑:

1
python -c "import sys; print(sys.executable)"

結果應當指向類似路徑:

1
C:\Work\test\.venv\Scripts\python.exe

這一步很重要。你要替換的是 MinerU 實際使用的那個 Python 環境裡的 PyTorch,而不是系統 Python、Conda 裡的另一個環境,或者 VS Code 隨便選中的解譯器。

卸載 CPU 版 PyTorch

確認 .venv 已啟用後,卸載目前 CPU 版:

1
uv pip uninstall torch torchvision

如果你不是用 uv 管理環境,也可以用普通 pip,但同一個環境裡最好不要混亂切換工具。這裡沿用 uv pip

安裝 CUDA 12.8 版 PyTorch

安裝 PyTorch 2.8.0 對應的 CUDA 12.8 版本:

1
uv pip install torch==2.8.0 torchvision==0.23.0 --index-url https://download.pytorch.org/whl/cu128

PyTorch 官方給出的這組版本對應關係是:

1
2
3
torch 2.8.0
torchvision 0.23.0
CUDA 12.8

CUDA 版 PyTorch 下載量可能比較大,通常會達到數 GB。網路慢時需要耐心等一下。

如果 uv 提示已經安裝,但你檢查後仍然是 CPU 版,可以強制重裝:

1
uv pip install --reinstall torch==2.8.0 torchvision==0.23.0 --index-url https://download.pytorch.org/whl/cu128

安裝後驗證 CUDA 是否可用

執行:

1
python -c "import torch; print('PyTorch:', torch.__version__); print('CUDA build:', torch.version.cuda); print('CUDA available:', torch.cuda.is_available()); print('GPU count:', torch.cuda.device_count()); print('GPU:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else '未检测到')"

正確結果應類似:

1
2
3
4
5
PyTorch: 2.8.0+cu128
CUDA build: 12.8
CUDA available: True
GPU count: 1
GPU: NVIDIA GeForce RTX 4060

最關鍵的是這一行:

1
CUDA available: True

如果這裡仍然是 False,說明 PyTorch 仍然沒有用上 CUDA。常見原因包括:裝錯環境、仍然是 CPU 版 torch、NVIDIA 驅動異常,或者 Python 解譯器不是 MinerU 那個 .venv

再做一次真實 GPU 運算

只看到 CUDA available: True 還不夠穩妥,可以再跑一個真實 CUDA 張量計算:

1
python -c "import torch; x=torch.randn(4096,4096,device='cuda'); y=x@x; torch.cuda.synchronize(); print('设备:', y.device); print('显存:', round(torch.cuda.memory_allocated()/1024**2,1), 'MB')"

正常結果類似:

1
2
设备: cuda:0
显存: 128.0 MB

這說明 PyTorch 不只是識別到了顯卡,而且確實能在 RTX 4060 上執行 CUDA 運算。

執行 MinerU 時觀察顯卡

打開第二個 PowerShell 視窗,持續觀察顯卡:

1
nvidia-smi -l 1

然後在第一個視窗執行 MinerU:

1
mineru -p "C:\Work\test\input.pdf" -o "C:\Work\test\output"

如果沒有啟用虛擬環境,也可以直接呼叫 .venv 裡的可執行檔:

1
.\.venv\Scripts\mineru.exe -p "C:\Work\test\input.pdf" -o "C:\Work\test\output"

觀察 nvidia-smi,如果滿足下面幾個現象,基本就能確認 MinerU 正在使用 RTX 4060:

  1. 出現 python.exe
  2. 顯存占用增加。
  3. 推理階段 GPU-Util 升高。
  4. MinerU 結束後顯存釋放。

RTX 4060 和 MinerU 模式怎麼理解

RTX 4060 屬於 NVIDIA 40 系顯卡,也就是 Ada Lovelace 架構,屬於 MinerU 官方支援 GPU 加速的硬體範圍。安裝正確的 CUDA 版 PyTorch 後,普通 mineru 命令就可以使用 GPU。

如果顯式指定:

1
mineru -p "input.pdf" -o "output" -b pipeline

它更偏穩定和相容,也適合 CPU 回退或低顯存場景。想使用 hybrid-enginevlm-engine 這類更依賴 VLM 的模式,就更需要確認 CUDA 版 PyTorch 已經安裝成功。

常見坑

第一,裝錯環境。最常見的問題是你在一個 Python 環境裡安裝了 CUDA 版 PyTorch,但 MinerU 實際執行的是另一個 .venv。所以一定要先看:

1
python -c "import sys; print(sys.executable)"

第二,只看驅動,不看 PyTorch。nvidia-smi 正常只能說明驅動識別顯卡,不代表 Python 裡的 PyTorch 一定支援 CUDA。最終還是要看:

1
python -c "import torch; print(torch.__version__, torch.version.cuda, torch.cuda.is_available())"

第三,把 CUDA Toolkit 和 PyTorch CUDA 混為一談。多數普通使用場景不需要單獨安裝完整 CUDA Toolkit。只要 NVIDIA 驅動正常,安裝 PyTorch 官方 CUDA 輪子即可。

第四,顯存被別的程式占滿。RTX 4060 8GB 屬於能跑但不寬裕的配置。執行 MinerU 前,最好關掉遊戲、瀏覽器硬體加速、其他 AI 推理程式和占顯存的軟體。

一句話總結

看到:

1
2
PyTorch: 2.8.0+cpu
CUDA available: False

就說明 MinerU 目前用不了 RTX 4060。正確做法是在同一個 .venv 裡卸載 CPU 版 torch / torchvision,再安裝:

1
uv pip install torch==2.8.0 torchvision==0.23.0 --index-url https://download.pytorch.org/whl/cu128

驗證結果變成:

1
2
3
PyTorch: 2.8.0+cu128
CUDA available: True
GPU: NVIDIA GeForce RTX 4060

再執行 MinerU,並用 nvidia-smi -l 1 觀察 python.exe、顯存和 GPU 利用率,就能確認 GPU 加速是否真正生效。

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計