Je suis nouveau à l'aide Pytorch et je reçois cette erreur lors de l'exécution de mon code:l'indexation d'un tenseur avec un objet de type torch.LongTensor
TypeError: l'indexation d'un tenseur avec un objet de type torch.LongTensor. Les seuls types pris en charge sont les entiers, les tranches, les scalaires numpy et torch.LongTensor ou torch.ByteTensor comme seul argument.
Pouvez-vous s'il vous plaît me pointer et la bonne direction et toute aide serait grandement appréciée.
if os.path.exists(CHECKPOINT_NAME):
print("=> loading checkpoint '{}'".format(CHECKPOINT_NAME))
checkpoint = torch.load(CHECKPOINT_NAME)
EPOCH = checkpoint['epoch']
BEST_LOSS = checkpoint['best_loss']
model.load_state_dict(checkpoint['state_dict'])
optimizer.load_state_dict(checkpoint['optimizer'])
print("=> loaded checkpoint '{}' (epoch {})"
.format(CHECKPOINT_NAME, checkpoint['epoch']))
else:
print("=> no checkpoint found at '{}'. Starting from scratch".format(CHECKPOINT_NAME))
for epoch in range(EPOCH, NUM_EPOCHS):
train(train_dataset_loader, model, loss_fn, optimizer, epoch + 1, val_dataset_loader)
loss = validate(val_dataset_loader, model, loss_fn)
if loss < BEST_LOSS:
print('{} better than previous best loss of {}'.format(loss, BEST_LOSS))
BEST_LOSS = loss
is_best = True
else:
is_best = False
save_checkpoint({
'epoch': epoch + 1,
'state_dict': model.state_dict(),
'best_loss': BEST_LOSS,
'optimizer' : optimizer.state_dict(),
}, is_best
)
ypeError Traceback (most recent call last)
<ipython-input-16-4c3a0a33f81b> in <module>()
12
13 for epoch in range(EPOCH, NUM_EPOCHS):
---> 14 train(train_dataset_loader, model, loss_fn, optimizer, epoch + 1, val_dataset_loader)
15 loss = validate(val_dataset_loader, model, loss_fn)
16
<ipython-input-14-13120db09b49> in train(train_loader, model, criterion, optimizer, epoch, val_loader)
65 # compute output
66 model.zero_grad()
---> 67 log_probas, indices = model.forward(batch)
68
69 labels = Variable(batch['class'][indices])
<ipython-input-13-f9a47d332f53> in forward(self, batch)
18 gene = batch['gene'][indices]
19 variation = batch['variation'][indices]
---> 20 text_batch = torch.stack(batch['text'], 0)[:, indices]
21
22 # Wrap all tensors around a variable. Send to GPU if possible.
Dans quelle ligne l'erreur se produit-elle? – McLawrence
Améliorez votre question, inclure l'extrait de code que nous pouvons utiliser pour reproduire l'erreur et inclure les détails de l'erreur aussi. –
J'ai mis à jour mon message original pour refléter le TypeError –