Tensor 索引 API#
在 PyTorch C++ API 中索引张量与 Python API 的工作方式非常相似。所有索引类型,如 None
/ ...
/ 整数 / 布尔值 / 切片 / 张量都在 C++ API 中可用,这使得将 Python 索引代码翻译成 C++ 非常简单。主要区别在于,C++ API 中使用的不是类似 Python API 语法的 []
运算符,而是索引方法:
还需要注意的是,像 None
/ Ellipsis
/ Slice
这样的索引类型存在于 torch::indexing
命名空间中,建议在任何索引代码之前加入 using namespace torch::indexing
,以便方便地使用这些索引类型。
以下是一些将 Python 索引代码转换为 C++ 的示例
Getter#
Python |
C++ (假设 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Setter#
Python |
C++ (假设 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Python/C++ 索引类型之间的转换#
Python 和 C++ 索引类型之间的一对一转换如下:
Python |
C++ (假设 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|