现在,我想使用cuda运行pytorch,然后我使用model.cuda(),并且torch.cuda.LongTensor()用于所有张量..cuda.如果我使用过,我是否必须明确使用张量model.cuda()?有没有办法让所有计算在GPU中运行为默认值?
遵循https://github.com/spro/practical-pytorch/blob/master/seq2seq-translation/seq2seq-translation.ipynb的教程
有一个USE_CUDA标志用于控制 CPU(当为 False)到 GPU(当为 True)类型之间的变量和张量类型。
使用en-fr.tsv 中的数据并将句子转换为变量:
import unicodedata
import string
import re
import random
import time
import math
from gensim.corpora.dictionary import Dictionary
import torch
import torch.nn as nn
from torch.autograd import Variable
from torch import LongTensor, FloatTensor
from torch import optim
import torch.nn.functional as F
import numpy as np
MAX_LENGTH = 10
USE_CUDA = False
# Turn a Unicode string to plain ASCII, thanks to http://stackoverflow.com/a/518232/2809427
def unicode_to_ascii(s):
return ''.join(
c for …Run Code Online (Sandbox Code Playgroud) 我在这里搜索过,但我发现只有过时的帖子.
我想在我的GPU上运行培训.我在一些论坛上发现我需要应用.cuda()任何我想要使用CUDA的东西(我已经把它应用到了我能做的一切而不会让程序崩溃)令人惊讶的是,这使得训练更加缓慢.
然后,我发现你可以使用它torch.set_default_tensor_type('torch.cuda.FloatTensor')来使用CUDA.启用后,没有任何变化.怎么了?
有没有办法在整个模型上可靠地启用CUDA?
编辑:这被标记为重复.事实并非如此.我链接的帖子没有回答我的所有问题.
还有什么MyModel()意思呢?我需要更多有形的例子,比如代码示例. (这是我指的帖子)