我正在研究这个模型:
class Model(torch.nn.Module):
def __init__(self, sizes, config):
super(Model, self).__init__()
self.lstm = []
for i in range(len(sizes) - 2):
self.lstm.append(LSTM(sizes[i], sizes[i+1], num_layers=8))
self.lstm.append(torch.nn.Linear(sizes[-2], sizes[-1]).cuda())
self.lstm = torch.nn.ModuleList(self.lstm)
self.config_mel = config.mel_features
def forward(self, x):
# convert to log-domain
x = x.clip(min=1e-6).log10()
for layer in self.lstm[:-1]:
x, _ = layer(x)
x = torch.relu(x)
#x = torch_unpack_seq(x)[0]
x = self.lstm[-1](x)
mask = torch.sigmoid(x)
return mask
Run Code Online (Sandbox Code Playgroud)
进而:
model = Model(model_width, config)
model.cuda()
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
File "main.py", line 29, in <module>
Model.train(args)
File ".../src/model.py", line 57, in train
model.cuda()
File ".../.local/lib/python3.8/site-packages/torch/nn/modules/module.py", line 637, in cuda
return self._apply(lambda t: t.cuda(device))
File ".../.local/lib/python3.8/site-packages/torch/nn/modules/module.py", line 530, in _apply
module._apply(fn)
File "/.../.local/lib/python3.8/site-packages/torch/nn/modules/module.py", line 530, in _apply
module._apply(fn)
File ".../.local/lib/python3.8/site-packages/torch/nn/modules/rnn.py", line 189, in _apply
self.flatten_parameters()
File ".../.local/lib/python3.8/site-packages/torch/nn/modules/rnn.py", line 175, in flatten_parameters
torch._cudnn_rnn_flatten_weight(
RuntimeError: CUDA error: no kernel image is available for execution on the device
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会发生这种情况。我正在尝试推送模型和 cuda 中的输入,并且我了解错误是否是由于 CPU 中的某些模型和 GPU 中的某些模型引起的。但这里的情况并非如此。我在这里找到了一些 pip 安装解决方案:Pytorch CUDA error: no kernel image is available forexecution on the device on RTX 3090 with cuda 11.1
但我无法使用它,因为我正在尝试在无法访问 pip install 的远程存储库中完成工作。
我有办法解决这个问题吗?
我从给定的链接检查了最新版本torch。稳定版本列表:https ://download.pytorch.org/whl/cu113/torch_stable.htmltorchvisioncuda
以下版本解决了该错误,
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 -f https://download.pytorch.org/whl/torch_stable.html
参考:#49161
talonmies 的 评论确实有帮助:
您尝试使用的 PyTorch 安装没有对您尝试使用的 GPU 的内置二进制支持。您必须找到(或自己制作)一个内置支持的版本。由于 PyTorch 的设计和包装,这里没有解决办法
torch版本与cuda版本不兼容。我可以使用 CUDA_LAUNCH_BLOCKING=1 详细检查问题。我卸载了以前的 cuda 版本并安装了我真正需要的版本,现在它可以工作了
| 归档时间: |
|
| 查看次数: |
49279 次 |
| 最近记录: |