hellozhuo/pidinet

batch_size

long123524 opened this issue · 12 comments

我有个疑问,batch_size为啥要设置成1呢?这样得到的loss比较大,但结果上看确是不错的

我有个疑问,batch_size为啥要设置成1呢?这样得到的loss比较大,但结果上看确是不错的

loss和README表格里提供的training logs差别大吗?
batch size设置成1是 因为输入图片的分辨率不是统一的. 程序里边实际是用iter size来实现minibatch的功能, 每跑iter_size个样本就运行一次sgd.

我设置成1时loss和你的差别很大,我的才1000多。当我把batch_size设置成其他值时,结果也还行。我的图片大小都是统一的,是不是增大batch_size更合适呢?

我设置成1时loss和你的差别很大,我的才1000多。当我把batch_size设置成其他值时,结果也还行。我的图片大小都是统一的,是不是增大batch_size更合适呢?

所以是得到的loss比较小吗?可以增大batch size试试,如果大小统一,那么这个iter size可以设成1,不然实际的batch size就是batch_size x iter_size了

我设置成1时loss和你的差别很大,我的才1000多。当我把batch_size设置成其他值时,结果也还行。我的图片大小都是统一的,是不是增大batch_size更合适呢?

你好,我在main.py中的batch_size更改為2,4,8之後就會出現這樣的錯誤。請問你那邊如何解決,我是想更改batch_size來增大我的GPU利用率
RuntimeError: expand(torch.cuda.FloatTensor{[2, 1, 480, 640]}, size=[480, 640]): the number of sizes provided (2) must be greater or equal to the number of dimensions in the tensor (4)

我没有遇到这样的错误,你试试batch_aize为1时有没有出现这样的错误

我没有遇到这样的错误,你试试batch_aize为1时有没有出现这样的错误

batch_size为1的时候是没有错的,请问你更改了batch_size后,GPU的占用率是否提升了,还有就是你测试的数据集是BSDS那种吗?因为我测试的数据集是480*640我在想是不是图片格式大小的问题。

我测试的是自己的数据集,大小都是一样的256*256,你可以把图片大小统一试试,然后再加大batch。增大之后运行时间会减少许多

我测试的是自己的数据集,大小都是一样的256256,你可以把图片大小统一试试,然后再加大batch。增大之后运行时间会减少许多
我的图片也是统一480
640的,最后请问一下,你改动的batch_size是在main.py下的那个参数吗?

是的,我也尝试了其他的batch_size

是的,我也尝试了其他的batch_size

我刚试了一下,只测试一张图片就不会报错,但是测试2张图片就报错了,那边是测试多张图片都是可以的吗

是的,你也可以自己写个测试代码

是的,你也可以自己写个测试代码

好的,谢谢,我再试试能不能找到解决方案