Torch C++: API для проверки NAN

Я использую libtorch C++. В версии Python мы можем легко проверить значение тензора, вызвав его numpy значение, а в numpy у нас есть np.isnan(), Мне было интересно, если есть встроенная функция в libtorchC++ проверить, есть ли тензор 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,

Другие вопросы по тегам