Files
2026-06-16 11:46:53 +08:00

67 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 修复模型下载失败
## 当前状态
`mineru-models-download --source modelscope` 在执行时,12 个小型配置文件下载成功,但最大的文件 `model.safetensors`(2.45 GB)下载失败。
## 错误分析
```
[Errno 2] No such file or directory:
'/opt/models/modelscope/models/._____temp/OpenDataLab/MinerU2.5-Pro-2605-1.2B/model.safetensors'
```
modelscope 的 `snapshot_download()` 将大文件先写入临时目录 `._____temp`,再移动到最终位置。临时目录创建不完整或下载中断导致大文件失败。
## 修复方案
### 步骤 1:清理损坏的下载状态
在宿主机上删除临时目录和损坏文件,保留已下载成功的 12 个小文件:
```bash
rm -rf /opt/project/mineru-rocm/docker/data/models/modelscope/models/._____temp
rm -f /opt/project/mineru-rocm/docker/data/models/modelscope/models/OpenDataLab/MinerU2.5-Pro-2605-1.2B/model.safetensors
```
### 步骤 2:确保宿主机目录完整
```bash
mkdir -p /opt/project/mineru-rocm/docker/data/{input,output,models/modelscope,miopen}
```
### 步骤 3:重启所有容器使挂载生效
```bash
cd /opt/project/mineru-rocm/docker
docker compose down
docker compose up -d
docker compose --profile gradio up -d
```
### 步骤 4:在 worker0 中重试下载
modelscope 的 `snapshot_download` 会检查已有文件并跳过,只重新下载缺失的 `model.safetensors`:
```bash
docker compose exec worker0 mineru-models-download --source modelscope
# 交互提示选 all
```
### 步骤 5(备选):如果重试仍然失败
在 worker0 容器内手动创建临时目录后重试:
```bash
docker compose exec worker0 bash -c "
mkdir -p /opt/models/modelscope/models/._____temp/OpenDataLab/MinerU2.5-Pro-2605-1.2B
mineru-models-download --source modelscope
"
```
## 备注
- 本次仅在 worker0 下载,但因为 `/opt/models` 是共享卷挂载(`./data/models:/opt/models`),所有容器都可见
- 模型持久化在宿主机 `./data/models/`,容器重建不会丢失
- 如果 modelscope 下载持续不稳定,可切换到 huggingface 源:`MINERU_MODEL_SOURCE=huggingface`(需要代理)