我看过很多针对特定案例特定问题的特定帖子,但没有基本的动机解释。这是什么错误:
RuntimeError: CUDA error: device-side assert triggered
Run Code Online (Sandbox Code Playgroud)
意思?具体来说,正在触发的断言是什么,为什么断言在那里,我们如何向后工作以调试问题?
按原样,此错误消息在诊断任何问题时几乎无用,因为它似乎是在说“某处触及 GPU 的某些代码”有问题。Cuda 的文档在这方面似乎也没有帮助,尽管我可能是错的。 https://docs.nvidia.com/cuda/cuda-gdb/index.html
PyTorch 输入的维度不是模型所期望的,我不确定为什么。
以我的理解...
in_channels 首先是我们想要传递给模型的一维输入的数量,并且是所有后续层的前一个 out_channel。
out_channels 是所需的内核数(过滤器)。
kernel_size 是每个过滤器的参数数量。
因此,我们期望,随着数据向前传递,具有 7 个 1D 通道(即 2D 输入)的数据集。
但是,下面的代码抛出了一个与我期望的不一致的错误,代码如下:
import numpy
import torch
X = numpy.random.uniform(-10, 10, 70).reshape(-1, 7)
# Y = np.random.randint(0, 9, 10).reshape(-1, 1)
class Simple1DCNN(torch.nn.Module):
def __init__(self):
super(Simple1DCNN, self).__init__()
self.layer1 = torch.nn.Conv1d(in_channels=7, out_channels=20, kernel_size=5, stride=2)
self.act1 = torch.nn.ReLU()
self.layer2 = torch.nn.Conv1d(in_channels=20, out_channels=10, kernel_size=1)
def forward(self, x):
x = self.layer1(x)
x = self.act1(x)
x = self.layer2(x)
log_probs = torch.nn.functional.log_softmax(x, dim=1)
return log_probs
model = Simple1DCNN()
print(model(torch.tensor(X)).size)
Run Code Online (Sandbox Code Playgroud)
抛出以下错误:
---------------------------------------------------------------------------
RuntimeError …Run Code Online (Sandbox Code Playgroud) 我正在尝试终止端口 6006 上的进程。但是,我似乎无法使用许多推荐的方法来执行此操作。例如:
sh-4.2$ kill -9 $(sudo lsof -t -i:6006)
不起作用,抛出错误:
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
如果有帮助,这是我正在使用的系统:
sh-4.2$ cat /etc/os-release
NAME="Amazon Linux AMI"
VERSION="2018.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2018.03"
PRETTY_NAME="Amazon Linux AMI 2018.03"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2018.03:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
Run Code Online (Sandbox Code Playgroud)