【发布时间】:2019-07-08 04:29:32
【问题描述】:
我正在为 pytorch 编写 C++ 扩展,并使用 c++ api 来执行此操作。对于我的 forward 函数,我需要传递一个可选的张量。在函数内部,我想根据是否传递了这个可选参数来做不同的事情。通常,我们在 C++ 中使用 NULL 作为可选指针参数,并在函数内部检查指针是否为 NULL。我不知道如何为 at::Tensor 类型的 Torch 的 c++ api 执行此操作。
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?
【问题讨论】:
-
也许我不明白,但你不能检查一下
optional_constraints == nullptr吗? -
@Coolness 不幸的是
optional_constrains不是指针。 -
啊,我明白了。谢谢。