deepfacelab中文网

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

求助求助,关于保存预览历史图像

[复制链接]

17

主题

148

帖子

1798

积分

初级丹圣

Rank: 8Rank: 8

积分
1798
 楼主| 发表于 2024-8-9 21:57:09 | 显示全部楼层 |阅读模式
星级打分
  • 1
  • 2
  • 3
  • 4
  • 5
平均分:NAN  参与人数:0  我的评分:未评
本帖最后由 奇奇怪怪的ID 于 2024-8-9 21:58 编辑

有没有吊大的知道保存预览图控制保存频率的代码在哪里,

每50迭代保存一张太影响迭代时间了,想改改

回复

使用道具 举报

0

主题

13

帖子

505

积分

高级丹师

Rank: 5Rank: 5

积分
505
发表于 2024-8-9 22:24:14 | 显示全部楼层
Write preview history:n
回复 支持 反对

使用道具 举报

14

主题

2946

帖子

1万

积分

高级丹圣

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

积分
15963

真我风采勋章万事如意节日勋章

发表于 2024-8-9 23:00:49 | 显示全部楼层
本帖最后由 wtxx8888 于 2024-8-9 23:46 编辑

1,"DeepFaceLab\_internal\DeepFaceLab\models\ModelBase.py" 文件的

    def should_save_preview_history(self):
        return (not io.is_colab() and self.iter % 10 == 0) or (io.is_colab() and self.iter % 100 == 0)

解释: 不是colab环境,迭代数被10整除.  colab环境,迭代数被100整除。

2,"DeepFaceLab\_internal\DeepFaceLab\models\Model_SAEHD\Model.py" 文件的

    def should_save_preview_history(self):
        return (not io.is_colab() and self.iter % ( 10*(max(1,self.resolution // 64)) ) == 0) or \
               (io.is_colab() and self.iter % 100 == 0)

解释: 不是colab环境 ,迭代数整除 (10乘以,后面两数的最大值,1 或 分辨率整除64), colab环境,需要被100整除

上代码,触发下代码,是否进行记录。
"DeepFaceLab\_internal\DeepFaceLab\models\ModelBase.py" 文件的

    def train_one_iter(self):

        iter_time = time.time()
        losses = self.onTrainOneIter()
        iter_time = time.time() - iter_time

        self.loss_history.append ( [float(loss[1]) for loss in losses] )

       if self.should_save_preview_history():
            plist = []

            if io.is_colab():
                previews = self.get_previews()
                for i in range(len(previews)):
                    name, bgr = previews
                    plist += [ (bgr, self.get_strpath_storage_for_file('preview_%s.jpg' % (name) ) ) ]

            if self.write_preview_history:
                previews = self.get_history_previews()
                for i in range(len(previews)):
                    name, bgr = previews
                    path = self.preview_history_path / name
                    plist += [ ( bgr, str ( path / ( f'{self.iter:07d}.jpg') ) ) ]
                    if not io.is_colab():
                        plist += [ ( bgr, str ( path / ( '_last.jpg' ) )) ]

            if len(plist) != 0:
                self.get_preview_history_writer().post(plist, self.loss_history, self.iter)

        self.iter += 1

        return self.iter, iter_time

解释不一定对,哈哈。
大概应该是这个。。。学的是C/C++,  
Python   只能看懂大概

个人意见是,改红字分辨率那个,你50存盘,应该用的是10X5 (320 左右的丹整除64等5,然后5乘以10,可不就50次迭代,一存盘喽)

把64改小,即可提高预览图的存盘间隔。
回复 支持 反对

使用道具 举报

17

主题

148

帖子

1798

积分

初级丹圣

Rank: 8Rank: 8

积分
1798
 楼主| 发表于 2024-8-10 00:22:04 | 显示全部楼层
wtxx8888 发表于 2024-8-9 23:00
1,"DeepFaceLab\_internal\DeepFaceLab\models\ModelBase.py" 文件的

    def should_save_preview_histo ...

还得是大佬你啊  我之前也找到
def should_save_preview_history(self):
        return (not io.is_colab() and self.iter % 10 == 0) or (io.is_colab() and self.iter % 100 == 0)
这里,修改后不影响保存频率,我试试你提点的那个看看

回复 支持 反对

使用道具 举报

17

主题

148

帖子

1798

积分

初级丹圣

Rank: 8Rank: 8

积分
1798
 楼主| 发表于 2024-8-10 00:43:08 | 显示全部楼层
wtxx8888 发表于 2024-8-9 23:00
1,"DeepFaceLab\_internal\DeepFaceLab\models\ModelBase.py" 文件的

    def should_save_preview_histo ...


我将
    def should_save_preview_history(self):
        return (not io.is_colab() and self.iter % ( 10*(max(1,self.resolution // 64)) ) == 0) or \
               (io.is_colab() and self.iter % 100 == 0)
改为
    def should_save_preview_history(self):
        return (not io.is_colab() and self.iter % 10000 == 0) or \
            (io.is_colab() and self.iter % 100 == 0)
我观察了200迭代,目前没有保存图像,明天早上确认一下10000迭代保存效果有没有实现

还有就是,再次感谢您的帮助
回复 支持 反对

使用道具 举报

17

主题

148

帖子

1798

积分

初级丹圣

Rank: 8Rank: 8

积分
1798
 楼主| 发表于 2024-8-10 00:45:29 | 显示全部楼层
AYYA 发表于 2024-8-9 22:24
Write preview history:n

注意审题
回复 支持 反对

使用道具 举报

14

主题

2946

帖子

1万

积分

高级丹圣

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

积分
15963

真我风采勋章万事如意节日勋章

发表于 2024-8-10 00:52:52 | 显示全部楼层
本帖最后由 wtxx8888 于 2024-8-10 00:54 编辑
奇奇怪怪的ID 发表于 2024-8-10 00:43
我将
    def should_save_preview_history(self):
        return (not io.is_colab() and self.iter % ...

不客气,这段刚好能看得懂,哈哈。
回复 支持 反对

使用道具 举报

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

GMT+8, 2024-11-24 06:10 , Processed in 0.132542 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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