当 dynamic_pad = True 时,
输入数据不需要自己做resize(手动指定到统一大小),程序会自动将所有数据统一到固定大小,
例如,当数据里scale最大的图片为16801680,那么300300的图片会被程序在外围自动添加0直至大小为1680*1680.
这里,即使网络里用到了global average pooling,dynamic_pad设为False时,程序依然会报如下错误:
这是因为在训练的时候,如果batchsize设为64,那么64张图片会被压缩成643维(3通道)的数据,当dynamic_pad为False时,每3维之间的数据大小不一致,将导致不能组成一个643维的数据。
当 dynamic_pad = False 时,
需要在数据进入网络前,将所有图片大小统一到固定大小。
否则会报错,如下:
网友评论