Я пишу расширение C ++ для Pytorch и использую API C ++ для этого.Для моей функции forward
мне нужно передать дополнительный тензор.Внутри функции я хочу делать разные вещи в зависимости от того, был ли передан этот необязательный параметр или нет.В общем, мы используем NULL для необязательных аргументов указателя в C ++ и проверяем внутри функции, является ли указатель NULL или нет.Я не знаю, как это сделать для типа at::Tensor
API Torch c ++.
void xyz_forward(
const at::Tensor xyz1,
const at::Tensor xyz2,
const at::Tensor optional_constraints = something)
{
if(optional_constraints){
//do something
}else{
//do something else
}
}
Обратите внимание, что я не могу сделать const at::Tensor optional_constraints = at::ones
или что-то еще, потому что этот параметр может принимать любое реальное значение и может иметь различный размер / форму.Я не могу присвоить ему числовое значение в качестве необязательного аргумента.Есть ли NULL
эквивалент для этого?