-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
update batch evaluate #154
Conversation
添加了批量预测的功能,在aistudio上在单卡和4卡环境上,每个任务都跑了一个模型,打印的输出结果显示batch_size与train_batch_size相同 |
赞!这个功能如果能够实现的话,PaddleRS的用户体验应该会有很大提升。 另外其实我们不止需要batch_size符合预期,精度是更重要的,辛苦测试一下看看使用目前的实现,各个任务batch_size=1以及batch_size大于1的精度指标是否一致(需考虑单卡batch_size=1、单卡batch_size>1、多卡batch_size=1、多卡batch_size>1四种情况)。在测试的同时,建议也可以观察一下显存占用和测试耗时,看看目前的实现在性能上是否也是符合我们预期的(设置大于1的batch_size通常能够加速,显存占用与batch_size基本上呈线性关系)。 |
好的,我再测试下
…------------------ 原始邮件 ------------------
发件人: "Lin ***@***.***>;
发送时间: 2023年5月30日(星期二) 中午11:55
收件人: ***@***.***>;
抄送: ***@***.***>; ***@***.***>;
主题: Re: [PaddlePaddle/PaddleRS] update batch evaluate (PR #154)
赞!这个功能如果能够实现的话,PaddleRS的用户体验应该会有很大提升。
不过目前CI好像有点儿问题:
另外其实我们不止需要batch_size符合预期,精度是更重要的,辛苦测试一下看看使用目前的实现,各个任务batch_size=1以及batch_size大于1的精度指标是否一致(需考虑单卡batch_size=1、单卡batch_size>1、多卡batch_size=1、多卡batch_size>1四种情况)。在测试的同时,建议也可以观察一下显存占用和测试耗时,看看目前的实现在性能上是否也是符合我们预期的(设置大于1的batch_size通常能够加速,显存占用与batch_size基本上呈线性关系)。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
修复了批量预测以及图像修复推理部分的问题,在aistudio单卡与多卡环境测试了不同batchsize, |
辛苦啦,非常详尽的实验结果! 从结果上来看,目标检测任务的多卡精度好像和正确值差的有点儿多,可能是有代码层面的问题……另外从显存占用和速度来看,好像也有些不太符合直觉,例如前两个任务单卡的bs=1和bs=8显存占用差距不是很大,目标检测任务使用bs>1的速度反而变慢了。我建议通过断点调试确认单卡情况下evaluate过程各步骤模型的输入输出是否符合预期,以及排查目标检测任务多卡精度误差问题。 |
好的,我再看下
…------------------ 原始邮件 ------------------
发件人: "Lin ***@***.***>;
发送时间: 2023年6月6日(星期二) 晚上7:46
收件人: ***@***.***>;
抄送: ***@***.***>; ***@***.***>;
主题: Re: [PaddlePaddle/PaddleRS] update batch evaluate (PR #154)
辛苦啦,非常详尽的实验结果!
从结果上来看,目标检测任务的多卡精度好像和正确值差的有点儿多,可能是有代码层面的问题……另外从显存占用和速度来看,好像也有些不太符合直觉,例如前两个任务单卡的bs=1和bs=8显存占用差距不是很大,目标检测任务使用bs>1的速度反而变慢了。我建议通过断点调试确认单卡情况下evaluate过程各步骤模型的输入输出是否符合预期,以及排查目标检测任务多卡精度误差问题。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
抱歉,晚了一些。 在单卡和多卡中输入、输出的batch维度显示都正常,关于显存问题,我试了下,paddle中会占用一部分额外显存,这部分显存大概几百MB,输入、输出的数据,以及前向传播的中间变量这部分显存才会根据batchsize倍增https://aistudio.baidu.com/aistudio/projectdetail/6545652 |
pred = overlap_processor.process_pred(out, xoff_, yoff_) | ||
# Write to file | ||
band.WriteArray(pred, xoff_, yoff_) | ||
if len(out['label_map'].shape)==3: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
请问这里的修改是为什么呀?
原本的滑动预测处理的是单个样本,所以才会出现这个图片里的问题。所以对slider_predict这里做了个判断,处理batch结果 |
LGTM. |
再次感谢贡献! |
This reverts commit b5c716c.
这个PR可能还需要再修改~ 发现合入后PaddleRS的seg和cd模型的推理功能崩了(batch_size>1的情况下),考虑是对 |
PR types
New features
PR changes
Others
Description
update batch evaluate