Я использую Ax для BO, который заканчивается через Botorch и GPytorch, используя Pytorch. В какой-то момент при вызове loss.backward()
появляется следующая ошибка:
File ".../model.py", line 496, in train_loop
loss.backward()
File ".../torch/tensor.py", line 166, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph)
File ".../torch/autograd/__init__.py", line 99, in backward
allow_unreachable=True) # allow_unreachable flag
RuntimeError: at::cuda::blas::gemm<float> argument ldb must be positive and less than 2147483647 but got 0
Глядя на оригинальный файл CUDABlass. cpp, ошибка соответствует проверке положительного целого числа:
#define CUDABLAS_POSINT_CHECK(FD, X) \
TORCH_CHECK( \
(X > 0 && X <= INT_MAX), \
"at::cuda::blas::" #FD " argument " #X \
" must be positive and less than ", \
INT_MAX, \
" but got ", \
X)
Я не знаю причину ошибки. Я подозреваю, что это какая-то переменная Search Space
, но я не вижу в них ошибок (или того же, что проблема не имеет ничего общего с Ax, Botorch или Gpytorch). Кто-нибудь сталкивался с этой ошибкой раньше? Как ты это решил?