准确率只有50%,无法达到预期结果;数据处理方法是用于CIFAR10的而不是LandUse
您好,我下载了代码,调了两天参,发现准确率大概在50---60%之间。 然后我查看了代码,数据处理这里: `transforms_train = transforms.Compose([ transforms.RandomCrop(32, padding=4), transforms.RandomHorizontalFlip(), transforms.ToTensor(), transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010)) ])
transforms_test = transforms.Compose([ transforms.RandomCrop(32, padding=4), transforms.ToTensor(), transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010)) ])` 这个显然是CIFAR10的处理方式,而LandUse的大小是256而不是32,均值和标准差与CIFAR10也不同。
作者能否查看下,是不是传错了代码? 或者可否给一份checkpoint及LandUse的代码? 感谢!
@DumnBird 已收到您的 issue,今天我会去再看一下代码,稍晚些给您回复,先提供 checkpoint 链接: https://pan.baidu.com/s/1W2LjM-sM-SJplWtq3lkhoQ 密码: t7al
@DumnBird 我在 LeNet 代码的后面备注了 如果把图像 resize 成 64x64,该如何处理,您可以参考一下。 但是都没有用 256 的size 直接做,想来当时可能没有太多精力去修改网络来适应这个大小,直接拿 CIFAR 代码套的。这是我读书的时候做的,目前毕业了已经没有 GPU 用了,可能最近没有太多精力去再跑一遍了,抱歉。
我数据导入改成 transforms_train = transforms.Compose([ transforms.RandomCrop(256, padding=4), transforms.RandomHorizontalFlip(), transforms.ToTensor(), ])
transforms_test = transforms.Compose([ transforms.RandomCrop(256, padding=4), transforms.ToTensor(), ]) 然后网络稍微改到一下变成何凯明原本的结构,准确率能到94%,谢谢大佬的资源!
@DumnBird 收到,恭喜。期待您的 repo
我数据导入改成 transforms_train = transforms.Compose([ transforms.RandomCrop(256, padding=4), transforms.RandomHorizontalFlip(), transforms.ToTensor(), ])
transforms_test = transforms.Compose([ transforms.RandomCrop(256, padding=4), transforms.ToTensor(), ]) 然后网络稍微改到一下变成何凯明原本的结构,准确率能到94%,谢谢大佬的资源!
您好,我改过网络后在test集上依然只有接近70的准确率,您能否提供一下您修改过后的版本,谢谢