deepfacelab中文网

 找回密码
 立即注册(仅限QQ邮箱)
查看: 2345|回复: 37

分享下在Colab下自动保存时间的设置以及大模型保存失败思路

[复制链接]

1

主题

20

帖子

139

积分

高级丹童

Rank: 2

积分
139
 楼主| 发表于 2022-4-22 21:23:00 | 显示全部楼层 |阅读模式
星级打分
  • 1
  • 2
  • 3
  • 4
  • 5
平均分:NAN  参与人数:0  我的评分:未评
本帖最后由 xxmr121 于 2022-4-22 21:29 编辑

最近在研究用Colab跑模型,在调试参数的时候最关心自动保存是否能成功。
默认情况下,都是25分钟自动保存的,同时留下一行记录,后来发现
  1. ..\DeepFaceLab_NVIDIA_RTX3000_series\_internal\DeepFaceLab\mainscripts\Trainer.py
复制代码
这个文件中,可以调整自动保存的时间间隔,`save_interval_min = 25`,默认25分钟,修改成自己想要的就可以了。

另外Colab上跑LIAE等大模型的时候,由于模型文件体积过大,会导致加载模型以及自动保存模型的时候报错,类似于这样
Saving:  71% 5/7 [00:07<00:02,  1.14s/it]tcmalloc: large alloc
原因是超出了内存分配,这个问题一直没有解决,直到最近看到https://dfldata.cc/forum.php?mod=viewthread&tid=7352这个帖子,受到启发,将DFL官方里的load和save,也改成文件buffer读取的方式,成功得到解决,给大家一个参考。

回复

使用道具 举报

1

主题

20

帖子

139

积分

高级丹童

Rank: 2

积分
139
 楼主| 发表于 2022-4-22 22:40:22 | 显示全部楼层
dsyrock 发表于 2022-4-22 22:26
比较关注第二个问题,但没有说清楚解决方式。你的意思是直接把me版搬到colab上用吗?还是说你知道怎么在原 ...

直接将me版搬到colab也可以,但我习惯了用官方原版,所以在斯塔克colab版本上改的。
核心逻辑是修改core目录下的pathex.py以及Models目录下的ModelBase.py和Model_SAEHD下的Model.py,将原本的`model_data = pickle.loads ( self.model_data_path.read_bytes() )        `改成文件读取的方式,从而避免一次性大文件加载内存失败。
因为是借鉴的魔改ME里的逻辑,所以就不放代码了,可以下载主题帖里魔改ME版本的代码,然后对比我刚才提到的几个文件,就能发现差异点,然后去在原版基础上改一改。
回复 支持 0 反对 1

使用道具 举报

43

主题

2026

帖子

1万

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
11522
发表于 2022-4-22 21:48:45 | 显示全部楼层
感谢分享。coable可以挂机吗
回复 支持 反对

使用道具 举报

1

主题

104

帖子

875

积分

高级丹师

Rank: 5Rank: 5

积分
875
发表于 2022-4-22 22:18:06 | 显示全部楼层

感谢分享。
感谢分享。
回复 支持 反对

使用道具 举报

8

主题

400

帖子

3483

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
3483
发表于 2022-4-22 22:26:43 | 显示全部楼层
比较关注第二个问题,但没有说清楚解决方式。你的意思是直接把me版搬到colab上用吗?还是说你知道怎么在原版的基础上修改代码而实现?如果是后者的话,能分享一下方法吗?感激不尽
回复 支持 反对

使用道具 举报

1

主题

20

帖子

139

积分

高级丹童

Rank: 2

积分
139
 楼主| 发表于 2022-4-22 22:33:00 | 显示全部楼层
wcw888 发表于 2022-4-22 21:48
感谢分享。coable可以挂机吗

只有pro +才可以挂机,每个月400多块,并不是很划算
回复 支持 反对

使用道具 举报

8

主题

400

帖子

3483

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
3483
发表于 2022-4-22 22:33:23 | 显示全部楼层
另外colab有个小技巧避免保存失败,把笔记本设置成 high ram,这样能直接增加内存,避免保存失败。但缺点是只能运行最多一个高ram的设备,多于一个的话将会无法运行
回复 支持 反对

使用道具 举报

1

主题

20

帖子

139

积分

高级丹童

Rank: 2

积分
139
 楼主| 发表于 2022-4-22 22:41:59 | 显示全部楼层
注意有一个坑就是原版的DeepFaceLab_Colab目录下,有一个joblib目录,需要删掉,否则会和python自带的module冲突,从而不生效。
回复 支持 反对

使用道具 举报

1

主题

20

帖子

139

积分

高级丹童

Rank: 2

积分
139
 楼主| 发表于 2022-4-22 22:43:16 | 显示全部楼层
dsyrock 发表于 2022-4-22 22:33
另外colab有个小技巧避免保存失败,把笔记本设置成 high ram,这样能直接增加内存,避免保存失败。但缺点是 ...

原来还可以这样,学到了,谢谢!
回复 支持 反对

使用道具 举报

1

主题

110

帖子

1310

积分

初级丹圣

Rank: 8Rank: 8

积分
1310
发表于 2022-4-22 23:06:01 | 显示全部楼层
不懂看看
回复

使用道具 举报

QQ|Archiver|手机版|deepfacelab中文网 |网站地图

GMT+8, 2024-9-21 19:40 , Processed in 0.099206 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表