那些年,Pytorh的坑(持续更新)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zw__chen/article/details/82842933

        本博客和大家分享一些本人在使用pytorch时候经历过的一些坑,将持续更新。


1. 报错:

RuntimeError: Expected object of type torch.FloatTensor but found type torch.cuda.FloatTensor for argument #2 'weight'

任务:需要实现从test_loader中随机获取一张图片,传入已经训练好的model中,运行以下代码报上述错误。

    dataiter = iter(test_loader)
    images, labels = dataiter.next()
    images = Variable(images)
    print model(images)
  • 解决办法:加入这句话images = images.type(torch.cuda.FloatTensor)
    dataiter = iter(test_loader)
    images, labels = dataiter.next()
    images = Variable(images)
    
    images = images.type(torch.cuda.FloatTensor)
    
    print model(images)

2.报错

urllib2.URLError: <urlopen error [Errno 1] _ssl.c:510: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure>

任务:从torchvision.models中下载已训练好的模型,会报如上错误,相关代码如下:

net = models.vgg16(pretrained=True)

本人在网上查了很久,有人说时python版本的原因,本人python版本为2.7.6,version需要大于2.7.9.但是重装更新python太麻烦了。于是采用以下方法进行解决:replace('https://', 'http://')

from torchvision.models.vgg import model_urls
import torchvision

model_urls['vgg16'] = model_urls['vgg16'].replace('https://', 'http://')
vgg16 = torchvision.models.vgg16(pretrained=True)

3. 心得

使用pytorch加载CIFAR10数据集的详情

train_dataset = torchvision.datasets.CIFAR10(
        root=DATA_PATH, train=True, transform=transform_train, download=True
    )
test_dataset = torchvision.datasets.CIFAR10(root='../../data/', train=False, transform=transform)
classes = ('plane', 'car', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck')

cifar10数据集经常做10分类,训练集有50000张图片,测试集有10000张。整个数据集有60000张图片。

猜你喜欢

转载自blog.csdn.net/zw__chen/article/details/82842933
今日推荐