在softmax中从新讲解一下传入传出各个输出量是什么
目录
数据读取
读取函数没什么好说的,就加了一个选择resize类,这个地方dataloader后是输出两个返回值,第一个为四维张量,表示为([bs,c,w,h]);第二个为一维张量标签,表示为([bs]),里面的数为对应各个图片的类别标签。这也是后续迭代中,X,y分别是什么。
for X, y in train_loader:
def load_data_fashion_mnist(batch_size, resize=None): # @save
"""下载Fashion-MNIST数据集,然后将其加载到内存中"""
trans = [transforms.ToTensor()]
if resize:
trans.insert(0, transforms.Resize(resize))
# transforms.Resize:调整PILImage对象的尺寸。transforms.Resize([h, w])或transforms.Resize(x)等比例缩放
trans = transforms.Compose(trans) # 串联多个图片变换的操作
mnist_train = torchvision.datasets.FashionMNIST(
root="../data", train=True, transform=trans, download=False)
mnist_test = torchvision.datasets.FashionMNIST(
root="../data", train=False, transform=trans, download=False)
return (data.DataLoader(mnist_train, batch_size, shuffle=True,
num_workers=get_dataloader_workers()),
data.DataLoader(mnist_test, batch_size, shuffle=False,
num_workers=get_dataloader_workers()))
定义累加工具
前面讲过了:
class Accumulator:
"""For accumulating sums over `n` variables."""
def __init__(self, n):
"""Defined in :numref:`sec_softmax_scratch`"""
self.data = [0.0] * n
def add(self, *args):
self.data = [a + float(b) for a, b in zip(self.data, args)]
def reset(self):
self.data = [0.0] * len(self.data)
def __getitem__(self, idx):

最低0.47元/天 解锁文章
1405

被折叠的 条评论
为什么被折叠?



