{"title":"import numpy as np\nimport torch\n# 导入 PyTorch 内置的 mnist 数据\nfrom torchvision.datasets import mnist\n#导入预处理模块\nimport torchvision.transforms as transforms\nfrom torch.utils.data import DataLoader\n#导入nn及优化器\nimport torch.nn.functional as F\nimport torch.optim as optim\nfrom torch import nn\n# 定义一些超参数\ntrain_batch_size = 64\ntest_batch_size = 128\nlearning_rate = 0.01\nnum_epoches = 20\nlr = 0.01\nmomentum = 0.5\n#定义预处理函数,这些预处理依次放在Compose函数中。\ntransform = transforms.Compose([transforms.ToTensor(),transforms.Normalize([0.5], [0.5])])\n#下载数据,并对数据进行预处理\ntrain_dataset = mnist.MNIST('./data', train=True, transform=transform, download=True)\ntest_dataset = mnist.MNIST('./data', train=False, transform=transform)\n#dataloader是一个可迭代对象,可以使用迭代器一样使用。\ntrain_loader = DataLoader(train_dataset, batch_size=train_batch_size, shuffle=True)\ntest_loader = DataLoader(test_dataset, batch_size=test_batch_size, shuffle=False)\nimport matplotlib.pyplot as plt\n%matplotlib inline\nexamples = enumerate(test_loader)\nbatch_idx, (example_data, example_targets) = next(examples)\nfig = plt.figure()\nfor i in range(6):\nplt.subplot(2,3,i+1)\nplt.tight_layout()\nplt.imshow(example_data[i][0], cmap='gray', interpolation='none')\nplt.title("Ground Truth: {}".format(example_targets[i]))\nplt.xticks([])\nplt.yticks([])\n找出这段代码的错误内容:这段代码有几处错误:\n1. 在导入PyTorch库时,未导入torchvision库。\n2. 在使用matplotlib绘图时,缺少对plt.subplot()函数的缩进。\n3. plt.tight_layout()函数缩进不正确。\n4. plt.imshow()函数中,应该将example_data[i][0]改为example_data[i][0].numpy(),因为imshow()函数需要接受numpy数组作为输入。\n\n以下是修改后的代码:\n\npython\nimport numpy as np\nimport torch\nimport torchvision\nfrom torchvision.datasets import mnist\nimport torchvision.transforms as transforms\nfrom torch.utils.data import DataLoader\nimport torch.nn.functional as F\nimport torch.optim as optim\nfrom torch import nn\n\ntrain_batch_size = 64\ntest_batch_size = 128\nlearning_rate = 0.01\nnum_epoches = 20\nlr = 0.01\nmomentum = 0.5\n\ntransform = transforms.Compose([transforms.ToTensor(),transforms.Normalize([0.5], [0.5])])\n\ntrain_dataset = mnist.MNIST('./data', train=True, transform=transform, download=True)\ntest_dataset = mnist.MNIST('./data', train=False, transform=transform)\n\ntrain_loader = DataLoader(train_dataset, batch_size=train_batch_size, shuffle=True)\ntest_loader = DataLoader(test_dataset, batch_size=test_batch_size, shuffle=False)\n\nimport matplotlib.pyplot as plt\n%matplotlib inline\n\nexamples = enumerate(test_loader)\nbatch_idx, (example_data, example_targets) = next(examples)\nfig = plt.figure()\nfor i in range(6):\n plt.subplot(2,3,i+1)\n plt.tight_layout()\n plt.imshow(example_data[i][0].numpy(), cmap='gray', interpolation='none')\n plt.title("Ground Truth: {}".format(example_targets[i]))\n plt.xticks([])\n plt.yticks([])\n

PyTorch MNIST 代码错误分析及修正 - 深入理解 MNIST 数据集预处理和可视化

原文地址: https://www.cveoy.top/t/topic/puXl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录