更新1
停止剪切图像的最简单方法是:将元组传递给大小参数.
看起来是这样的:
size=(299,299)不幸的是,它不能解决我的问题。所以问题还没有解决。。
我刚刚训练了我的鸟类模型。当我用贴图测试它的时候,它工作得很好。
但是当我把照片移到离相机更远的地方时,模型却无法探测到鸟类。
我猜是在这行代码里
data = ImageDataBunch.from_folder(path=path_img, bs=48, valid_pct= 0.2, ds_tfms=get_transforms(), size=299, classes=['birds', 'others'])这个
get_transforms()
和
size=299
功能参数和尺寸参数裁剪我的训练图像,以集中图像,这样鸟类在图像中似乎更接近相机。
怎么修呢?


发布于 2019-12-30 06:03:22
您的数据集在一定的范围内偏向鸟类,即它们的大小,以像素为单位,范围很小(您可以验证这一点)。
中心剪切图像不会改变--鸟类的大小(以像素为单位)不会改变。
因此,您的模型无法处理缩放更改。
为了克服模型的这一局限性,您需要使其更有规模-健壮。
实现这一目标的最简单方法是向数据加载器(在裁剪之前)添加scale增强。通过在每个训练图像中引入随机尺度,你可以有效地改变鸟的大小(以像素为单位),这样你的模型就可以看到更大范围的鸟(以像素为单位)。
https://stackoverflow.com/questions/59509006
复制相似问题