Accelerate 笔记:保存与加载文件

  • 保存和加载模型、优化器、随机数生成器和 GradScaler
    • 使用 save_state() 将上述所有内容保存到一个文件夹位置
    • 使用 load_state() 加载之前通过 save_state() 保存的状态
  • 通过使用 register_for_checkpointing(),可以注册自定义对象以便自动从前两个函数中存储或加载
    • 只要对象具有 state_dictload_state_dict 功能即可
    • 这可以包括诸如学习率调度器之类的对象。

【经过实践结果,save_state需要传入一个参数,output_dir=】

2 保存模型的state_dict

  • 在保存模型的 state_dict 时,通常只在主进程上保存一个文件:
if accelerator.is_main_process:
    model = accelerator.unwrap_model(model)
    torch.save(model.state_dict(), "weights.pth")

unwrap见:huggingface笔记:使用accelerate加速_huggingface accelerate-优快云博客

### 解决方案 #### 安装 Accelerate 库 为了能够在 Bash 中正常使用 `accelerate` 命令,首先需要确保 Python 环境中已经安装了 `accelerate` 库。推荐使用 pip 进行安装: ```bash pip install accelerate ``` 对于某些特定需求或环境,可能需要从 Conda 渠道安装(注意这种方式可能会遇到兼容性问题)[^1]: ```bash conda install -c conda-forge accelerate ``` #### 验证加速库安装 确认 `accelerate` 已经成功安装并能被调用: ```python import accelerate print(accelerate.__version__) ``` #### 设置环境变量 (可选) 有时为了让命令行工具正常工作,设置相应的环境变量也是必要的。虽然这一步骤不是针对 `accelerate` 的必需操作,但对于其他类似的命令行应用可能是有用的。 #### 下载配置文件 根据具体应用场景,下载合适的配置文件可以帮助更好地初始化和管理 `accelerate` 实例。例如,可以从指定位置获取默认配置文件并将其放置于合适路径下[^5]: ```bash wget https://github.com/blog-repo/path/to/default_config_accelerate.yaml kubectl create configmap accelerate-config --from-file=default_config_accelerate.yaml ``` #### 使用 Git LFS 获取大型模型资源 当涉及到处理大尺寸的数据集或是预训练好的机器学习模型时,Git Large File Storage (LFS) 是一种有效的解决方案。确保本地环境中已启用此功能,并克隆包含所需资源的远程仓库[^4]: ```bash git lfs install git clone https://huggingface.co/01-ai/Yi-6B-Chat ``` 以上步骤完成后,在终端输入 `accelerate` 即应能够识别该命令。如果仍然无法执行,则建议检查 Python 路径是否已被加入到系统的 PATH 变量之中;另外也需留意是否有多个版本冲突的情况发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值