嗨,我正在训练 PyTorch 模型并出现此错误:
----> 5 for i, data in enumerate(trainloader, 0):
TypeError: 'torch.Size' object cannot be interpreted as an integer
不确定这个错误是什么意思。
你可以在这里找到我的代码:
model.train()
for epoch in range(10):
running_loss = 0
for i, data in enumerate(trainloader, 0):
inputs, labels = data
optimizer.zero_grad()
outputs = model(inputs)
loss = criterion(outputs, labels)
loss.backward()
optimizer.step()
if i % 2000 == 0:
print (loss.item())
running_loss += loss.item()
if i % 1000 == 0:
print ('[%d, %5d] loss: %.3f' % (epoch, i, running_loss/ 1000))
running_loss = 0 …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Pytorch 数据加载器来定义我自己的数据集,但我不确定如何加载多个数据源:
我目前的代码:
class MultipleSourceDataSet(Dataset):
def __init__ (self, json_file, root_dir, transform = None):
with open(root_dir + 'block0.json') as f:
self.result = torch.Tensor(json.load(f))
self.root_dir = root_dir
self.transform = transform
def __len__(self):
return len(self.result[0])
def __getitem__ (self):
None
Run Code Online (Sandbox Code Playgroud)
数据源是下50个块 root_dir = ~/Documents/blocks/
由于这是一个非常大的数据集,我之前将它们分开并避免直接组合它们。
如何将它们加载到单个数据加载器中?
machine-learning image-processing python-3.x deep-learning pytorch