(原) AI解决下载模型问题

原创文章,请后转载,并注明出处。

现在使用AI就和以前使用搜索引擎一样,在搜索上提升了一个档次。

在试用 https://github.com/SparkAudio/Spark-TTS 这个TTS引擎时,需要下载模型

from huggingface_hub import snapshot_download
import os

# Set download path
model_dir = "pretrained_models/Spark-TTS-0.5B"

# Check if model already exists
if os.path.exists(model_dir) and len(os.listdir(model_dir)) > 0:
    print("Model files already exist. Skipping download.")
else:
    print("Downloading model files...")
    snapshot_download(
        repo_id="SparkAudio/Spark-TTS-0.5B",
        local_dir=model_dir,
        resume_download=True  # Resumes partial downloads
    )
    print("Download complete!")

蛋是,国内这个环境。遇事不决问AI。

from huggingface_hub import snapshot_download
import os

# 配置镜像站点(二选一)
# 方法1:设置环境变量(推荐)
# os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'  # 国内加速镜像

# 方法2:在代码中直接指定镜像端点(需huggingface_hub>=0.17.0)
endpoint = "https://hf-mirror.com"

# 配置代理(根据实际情况选择)
os.environ['HTTP_PROXY'] = 'http://192.168.2.200:18080'  # 代理地址示例
os.environ['HTTPS_PROXY'] = 'http://192.168.2.200:18080'

# 设置下载路径
model_dir = "pretrained_models/Spark-TTS-0.5B"

# 自动创建目录(增强健壮性)
os.makedirs(model_dir, exist_ok=True)

# 检查已有文件(增加文件数量校验)
existing_files = [f for f in os.listdir(model_dir) if not f.startswith('.')]
if len(existing_files) >= 3:  # 假设至少包含3个核心文件
    print(f"Model files already exist in {model_dir}. Skipping download.")
else:
    print("Downloading model files...")
    try:
        snapshot_download(
            repo_id="SparkAudio/Spark-TTS-0.5B",
            local_dir=model_dir,
            resume_download=True,
            endpoint=endpoint  # 如果使用方法2则取消注释
            # 高级选项:出现SSL错误时可尝试(不推荐长期使用)
            # ignore_patterns=["*.safetensors"],  # 可选:排除特定文件类型
            # local_dir_use_symlinks=False,
            # token="your_hf_token"  # 如果需要私有仓库
        )
        print("Download completed successfully!")
    except Exception as e:
        print(f"Download failed: {str(e)}")
        print("建议尝试以下补救措施:")
        print("1. 检查镜像状态:访问 https://hf-mirror.com")
        print("2. 更换代理设置(若使用代理)")
        print("3. 手动下载:wget https://hf-mirror.com/SparkAudio/Spark-TTS-0.5B/resolve/main/<filename>")

下载成功。

相关文章