| # ============================================================================== | |
| # 步骤 2.5: 预缓存模型和分词器 (v3 - 最终修正版) | |
| # | |
| # 目的:绕过 "slow-to-fast" 转换错误。 | |
| # (!!) 关键修改: 明确使用 `DebertaV2Tokenizer`,不再使用 `AutoTokenizer` | |
| # ============================================================================== | |
| # (!!) 关键修改 | |
| from transformers import DebertaV2Tokenizer, AutoModelForSequenceClassification | |
| import os | |
| os.environ["TOKENIZERS_PARALLELISM"] = "false" | |
| MODEL_NAME = "microsoft/deberta-v3-base" | |
| print(f"--- 正在预下载并缓存 {MODEL_NAME} ---") | |
| print("这可能需要几分钟,请稍候...") | |
| try: | |
| print("正在下载分词器 (Tokenizer)...") | |
| # (!!) 关键修改: 不再使用 AutoTokenizer | |
| # 我们直接指定使用 DebertaV2Tokenizer | |
| # 这需要你先运行: pip install sentencepiece | |
| tokenizer = DebertaV2Tokenizer.from_pretrained(MODEL_NAME) | |
| print("分词器下载完成。") | |
| print("正在下载模型 (Model)...") | |
| model = AutoModelForSequenceClassification.from_pretrained(MODEL_NAME, num_labels=2) | |
| print("模型下载完成。") | |
| print(f"\n--- 成功!所有 {MODEL_NAME} 的文件已缓存到本地。 ---") | |
| print("你现在可以安全地运行多GPU训练脚本了。") | |
| except ImportError: | |
| print("\n--- 依赖缺失错误 ---") | |
| print("请先运行: pip install sentencepiece") | |
| except Exception as e: | |
| print(f"\n--- 下载失败 ---") | |
| print(f"错误详情: {e}") | |
| print("请再次检查你的服务器网络连接。") |