使用FVD时遇到的问题记录:使用tensorflow时batch_size不变的情况下使用数据量更大的dataset发生了显存溢出(OOM)问题 的解决

在计算FVD时遇到显存溢出(OOM)问题,原因是输入数据维度不匹配。原本应为[bs,t,h,w,c]的格式误处理为[bs,c,t,h,w],导致resize操作后尺寸错误。通过调整resize前的vidshape并使用tensor.permute()修复了问题。注意,batch_size过大可能导致OOM,但数据量大小本身不是直接原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

情况:计算 FVD 时,使用 dataset-1 时运行成功,使用数据量(data size)更大的 dataset-2 时运行失败。报错OOM:显存溢出。

查找问题:比较两次计算时的 input video 的 data shape,发现成功的那个是:[2, 64, 224, 224, 3],失败的那个是:[2, 180, 224, 224, 3]。

注:shape各dim的含义是:[batch_size, num_frames, height, weight, depth]

发现不对劲:input 的 num_frame 的大小应该相同,都是 16。此处的 64 和 180 是 input vid 在 resize 前的 weight 大小。

找到原因:resize 时的 vid shape 没有调整好。要求 热size 的 input shape 是 [bs, t, h, w, c],而我的是 [bs, c, t, h, w]。例如,错误输入:[2, 3, 16, 144, 180] 的 resize 结果为 [2, 180, 224, 224, 3],而不是期待的 [2, 16, 224, 224, 3]。

解决方案:将 resize 前的 vid shape 用 tensor.permuter() 调好后,问题解决。

小结:所以,bs大小可能会造成显存溢出(OOM),而使用的数据量(data size)大小不会。起码此处不会。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xdhsCS_cv_ml

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

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

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

打赏作者

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

抵扣说明:

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

余额充值