张量索引 API#
在 PyTorch C++ API 中对张量进行索引与 Python API 非常相似。所有索引类型,如 None
/ ...
/ integer / boolean / slice / tensor,在 C++ API 中都可用,这使得将 Python 索引代码转换为 C++ 变得非常简单。主要区别在于,C++ API 没有使用类似于 Python API 语法的 []
运算符,而是使用以下索引方法:
同样重要的是要注意,None
/ Ellipsis
/ Slice
等索引类型位于 torch::indexing
命名空间中,建议在使用这些索引类型之前加上 using namespace torch::indexing
,以便于方便使用。
以下是一些将 Python 索引代码转换为 C++ 的示例:
获取器#
Python |
C++ (假设使用了 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
设置器#
Python |
C++ (假设使用了 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Python/C++ 索引类型之间的转换#
Python 和 C++ 索引类型之间的一一对应转换如下:
Python |
C++ (假设使用了 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|