Erro: tipo de Entrada (tocha.FloatTensor) e peso (tipo de tocha.cuda.FloatTensor) deve ser o mesmo

0

Pergunta

Eu estou tentando treinar um FANTÁSTICO modelo usando pytorch, e eu quero usar a GPU para treinar o meu modelo. Eu sou capaz de copiar com êxito o meu modelo para a GPU usando model.to(device), onde device = cuda:0.

No entanto, os métodos padrão para copiar a entrada para o GPU, (RuntimeError: tipo de Entrada (tocha.FloatTensor) e peso (tipo de tocha.cuda.FloatTensor) deve ser o mesmo), isto é, X.to(device) e X.cuda() não me dá o resultado desejado. Seguinte é o método que eu estou atualmente em fase de implementação:

def train_loop(self, dataloader, device):
    size = len(dataloader.dataset)
    for batch, (X, y) in enumerate(dataloader):
        # Compute prediction and loss
        print(device)
        X.to(device)
        print(X.is_cuda)
        y.to(device)
        
        pred = self.model(X)
        loss = self.loss_fn(pred, y)

Sobre a impressão de que o dispositivo de valor print(device) ele mostra como: cuda:0. Mas quando eu executar print(X.is_cuda) ele retorna false. (Imagem anexada abaixo).

Error Message

Por favor, deixe-me saber para onde estou indo errado. Obrigado!

1

Melhor resposta

0

X.to(device) não faz nada. altere-a para:

x=x.to(device)

É claro que isso deve ser feito para qualquer parâmetro\variável que você deseja na GPU

2021-11-20 16:11:49

Ah, tudo bem. Obrigado! Isso resolveu o problema
Vatsala Prasad

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................