运行pytorch官网cifar10_tutorial.py程序遇到的问题及解决

本文提供了一个PyTorch CIFAR10教程的详细指南,包括如何下载并运行教程代码,解决运行过程中遇到的各种错误,如语法错误、乱码及类型错误等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码在https://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html

在页面的最下面有代码的下载链接,选择下载“cifar10_tutorial.py”,直接在终端中运行程序:

python cifar10_tutorial.py

出现以下提示:Downloading http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz to ./data/cifar-10-python.tar.gz正在下载cifar10数据集。此处需要较久的等待,故可提前用迅雷等下载好数据集http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz。

在与所下载代码同一根目录(work)下新建data文件夹,然后在data文件夹里,对数据库解压:tar -xzvf cifar-10-python.tar.gz

解压好了再在目录work下运行Python cifar10_tutorial.py即可。

遇到的问题:


1. File "cifar10_tutorial.py", line 57
    """

SyntaxError: (unicode error) 'utf-8' codec can't decode bytes in position 1040-1041: invalid continuation byte

解决:改掉代码中乱码部分即可。

2.UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 5335-5336: invalid continuation byte

解决:依然是注释部分的编码问题,一定要把乱码部分都改掉,实在不行删掉所有的注释。

3.Finished Training
  GroundTruth:    cat  ship  ship plane
  Traceback (most recent call last):
   File "cifar10_tutorial.py", line 129, in <module>
   print('Predicted: ', ' '.join('%5s' % classes[predicted[j]] for j in range(4)))
   File "cifar10_tutorial.py", line 129, in <genexpr>
   print('Predicted: ', ' '.join('%5s' % classes[predicted[j]] for j in range(4)))

  TypeError: tuple indices must be integers or slices, not torch.LongTensor

训练结束后,测试时报类型错误。

解决:将219行代码print('Predicted: ', ' '.join('%5s' % classes[predicted[j]] for j in range(4)))修改为

print('Predicted: ', ' '.join('%5s' % classes[predicted[j][0]]

                              for j in range(4)))

然后代码就能顺利运行啦。

                             
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值