cuquantum.cutensornet.create_network_descriptor¶
- cuquantum.cutensornet.create_network_descriptor(intptr_t handle, int32_t num_inputs, num_modes_in, extents_in, strides_in, modes_in, qualifiers_in, int32_t num_modes_out, extents_out, strides_out, modes_out, int data_type, int compute_type) intptr_t [source]¶
初始化一个
cutensornetNetworkDescriptor_t
,描述张量之间的连接性(即网络拓扑)。- 参数
**handle** (intptr_t) – 不透明句柄,持有 cuTensorNet 的库上下文。
**num_inputs** (int32_t) – 输入张量的数量。
**num_modes_in** (object) –
大小为
num_inputs
的数组;num_modes_in[i]
表示第 i 个张量中可用的模式数量。它可以是一个
int
作为指向数组的指针地址,或一个
int32_t
的 Python 序列。
**extents_in** (object) –
大小为
num_inputs
的数组;extents_in[i]
具有num_modes_in[i]
个条目,其中extents_in[i][j]
(j
<num_modes_in[i]
) 对应于张量i
的第 j 个模式的范围。它可以是**strides_in** (object) –
大小为
num_inputs
的数组;strides_in[i]
具有num_modes_in[i]
个条目,其中strides_in[i][j]
(j
<num_modes_in[i]
) 对应于关于张量i
的第 j 个模式的两个逻辑相邻元素之间的线性化偏移(以物理内存为单位)。它可以是**modes_in** (object) –
大小为
num_inputs
的数组;modes_in[i]
具有num_modes_in[i]
个条目 - 每个条目对应一个模式。输入张量中未出现的每个模式都将被隐式收缩。它可以是**qualifiers_in** (object) –
大小为
num_inputs
的数组;qualifiers_in[i]
表示第 i 个输入张量的限定符。请参阅cutensornetTensorQualifiers_t
。它可以是一个
int
作为指向数组的指针地址,或一个
cutensornetTensorQualifiers_t
的 Python 序列。
**num_modes_out** (int32_t) – 输出张量的模式数量。在输入时,如果此值为
-1
并且未提供输出模式,则网络将推断输出模式。如果此值为0
,则网络将被强制缩减。**extents_out** (object) –
大小为
num_modes_out
的数组;extents_out[j]
(j
<num_modes_out
) 对应于输出张量的第 j 个模式的范围。它可以是一个
int
作为指向数组的指针地址,或一个
int64_t
的 Python 序列。
**strides_out** (object) –
大小为
num_modes_out
的数组;strides_out[j]
(j
<num_modes_out
) 对应于关于输出张量的第 j 个模式的两个逻辑相邻元素之间的线性化偏移(以物理内存为单位)。它可以是一个
int
作为指向数组的指针地址,或一个
int64_t
的 Python 序列。
**modes_out** (object) –
大小为
num_modes_out
的数组;modes_out[j]
表示输出张量的第 j 个模式。输出张量。它可以是一个
int
作为指向数组的指针地址,或一个
int32_t
的 Python 序列。
**data_type** (int) – 表示所有输入和输出张量的数据类型。
**compute_type** (ComputeType) – 表示整个计算中使用的计算类型。
- 返回值
指向
cutensornetNetworkDescriptor_t
的指针。- 返回类型
intptr_t