AutoDL 常用环境默认路径修改

环境配置

1. 修改Conda下载安装路径

为了支撑足够多的模型环境,不能够将Conda依赖包安装路径放在系统盘,所以修改Conda安装路径,步骤如下。

  1. 运行vim /root/.condarc命令,写入:
javascript 复制代码
envs_dirs:
  - /root/autodl-tmp/conda/envs
pkgs_dirs:
  - /root/autodl-tmp/conda/pkgs

envs和pkgs分别对应环境和python包安装的的路径,可自行选择。

  1. 使用conda info命令查看是否修改成功
null

2. 修改Huggingface默认下载路径

通过Hugging Face的Transformers库自动下载模型,会先缓存在默认路径:
Linux~/.cache/huggingface/hub
WindowsC:\Users\username.cache\huggingface\hub

考虑到预训练模型一般比较大,也不能将预训练模型下载到系统盘,因此需要修改Huggingface模型下载路径,步骤如下。

通过vim编译器永久设置,

bash 复制代码
vim ~/.bashrc

在末尾行添加,

ini 复制代码
export HF_HOME="/root/autodl-tmp/huggingface"  # 替换为你想更改的目标路径

然后保存退出。输入如下指令让它立即生效,

bash 复制代码
source ~/.bashrc

可通过如下指令查看是否设置成功,

bash 复制代码
env | grep HF_HOME

如果返回设置的路径,则成功,如图。

null

注意事项:

一般来说,如果存储空间足够的话,可以按照不同的模型代码要求进行下载和安装。存储空间不够的话,参考如下原则。

一些常用来修改的大规模的预训练模型(比如Stable Diffusion),建议优先存储到本地路径,以便调整预训练模型结构;

一些常用的工具类预训练模型(比如open_clip)可以直接存储到Huggingface的缓存路径,以便直接调用无需修改代码中的调用路径。

3. 加入Huggingface镜像

直接使用Huggingface官网下载预训练模型容易失败,可以使用镜像网站下载。

通过vim编译器永久设置,

bash 复制代码
vim ~/.bashrc

在末尾行添加,

arduino 复制代码
export HF_ENDPOINT=https://hf-mirror.com

然后保存退出。输入如下指令让它立即生效,

bash 复制代码
source ~/.bashrc

可通过如下指令查看是否设置成功,

bash 复制代码
env | grep HF_ENDPOINT

输出如图即为成功。

4. 修改PyTorch的默认下载路径

PyTorch预训练模型在线下载后的地址默认是

javascript 复制代码
~/.cache/torch/hub/checkpoints

类似于Huggingface的预训练模型,我们也把这部分模型默认路径修改到数据盘

通过vim编译器永久设置,

bash 复制代码
vim ~/.bashrc

在末尾行添加,

ini 复制代码
export TORCH_HOME="/root/autodl-tmp/torch"  # 替换为你想更改的目标路径

然后保存退出。输入如下指令让它立即生效,

bash 复制代码
source ~/.bashrc

可通过如下指令查看是否设置成功,

bash 复制代码
env | grep TORCH_HOME

如果返回设置的路径,则成功,如图。

5. 修改ModelScope默认下载路径

通过vim编译器永久设置,

bash 复制代码
vim ~/.bashrc

在末尾行添加,

ini 复制代码
export MODELSCOPE_CACHE="/root/autodl-tmp/modelscope"  # 替换为你想更改的目标路径

然后保存退出。输入如下指令让它立即生效,

bash 复制代码
source ~/.bashrc

可通过如下指令查看是否设置成功,

bash 复制代码
env | grep MODELSCOPE_CACHE

如果返回设置的路径,则成功,如图。

相关推荐
yuzhiboyouye12 小时前
web前端英语面试
前端·面试·状态模式
我叫黑大帅13 小时前
为什么需要 @types/react?解决“无法找到模块 react 的声明文件”报错
前端·javascript·面试
折哥的程序人生 · 物流技术专研15 小时前
Java面试85题图解版(一):基础核心篇
java·开发语言·后端·面试
Moment16 小时前
面试官:如果产品经理给你多个需求,怎么让AI去完成❓❓❓
前端·后端·面试
Lkstar16 小时前
面试官让我手写 Promise.all / Promise.race / Promise.allSettled,我直接水灵灵地写出来了
javascript·面试
逻辑驱动的ken17 小时前
Java高频考点场景题24
java·开发语言·面试·职场和发展·求职招聘
Fox爱分享17 小时前
字节二面:10亿数据毫秒级查手机尾号后4位,答不出“异构索引”直接挂?
java·后端·面试
WaywardOne18 小时前
Flutter面试事件队列,微任务队列以及事件循环相关问题及回答
flutter·面试
折哥的程序人生 · 物流技术专研18 小时前
《Java面试85题图解版(二)》进阶深化上篇:并发编程 + JVM
java·开发语言·后端·面试
Mahir0818 小时前
MySQL 数据一致性的基石:三大日志( redo log/undo log/binlog)与两阶段提交(Prepare 阶段和Commit 阶段)深度解密
数据库·后端·mysql·面试