0

我正在尝试将 atorch::Tensorsizes其他东西进行比较,但似乎我做错了。

我试过了:

    auto t = torch::ones({ 3,3 }).sizes();
    std::cout << c10::IntArrayRef{ 3,3 } << std::endl;
    std::cout << (t.equals(c10::IntArrayRef{ 3,3 })) << std::endl;

总是返回假。

我也试过:

t == c10::IntArrayRef{ 3,3 };

这也返回false。由于 IntArratRef 本身不拥有存储空间,因此我尝试了:

c10::IntArrayRef x(std::vector<int>{ 3, 3 });

但它失败了,说:

Error   C2664   'c10::ArrayRef<int64_t>::ArrayRef(c10::ArrayRef<int64_t> &&)': cannot convert argument 1 from 'std::vector<T,std::allocator<int>>' to 'const T &'   

我目前正在单独比较每个维度,这远非理想,更不用说麻烦了。这里有什么问题?

4

0 回答 0