Torch C++: API для проверки NAN
Я использую libtorch C++. В версии Python мы можем легко проверить значение тензора, вызвав его numpy
значение, а в numpy
у нас есть np.isnan()
, Мне было интересно, если есть встроенная функция в libtorch
C++
проверить, есть ли тензор NAN
значение?
Спасибо афшин
1 ответ
Добавление к ответу Фабио (моя репутация слишком низкая, чтобы комментировать):
Если вы действительно хотите использовать информацию о NAN в assert
или if
состояние вам нужно преобразовать его из torch::Tensor
в C++ bool
вот так
torch::Tensor myTensor;
// do something
auto tensorIsNan = at::isnan(myTensor).any().item<bool>(); // will be of type bool
Пытаться at::isnan
,
int main() {
torch::Tensor tensor = torch::rand({2, 3});
std::cout << tensor << std::endl;
std::cout << at::isnan(tensor) << std::endl;
return 0;
}
Примечание: мне пришлось установить ночную сборку libtorch, так как стабильная версия не имела isnan
,