MinkowskiBroadcast

MinkowskiBroadcastAddition

class MinkowskiEngine.MinkowskiBroadcastAddition

将缩减的特征广播到所有输入坐标。

\[\mathbf{y}_\mathbf{u} = \mathbf{x}_{1, \mathbf{u}} + \mathbf{x}_2 \; \text{for} \; \mathbf{u} \in \mathcal{C}^\text{in}\]

对于所有输入 \(\mathbf{x}_\mathbf{u}\), 加上 \(\mathbf{x}_2\)。 输出坐标将与输入坐标相同 \(\mathcal{C}^\text{in} = \mathcal{C}^\text{out}\)

注意

第一个参数接受稀疏张量; 第二个参数接受缩减到原点的特征。 这通常可以通过全局缩减来完成,例如 MinkowskiGlobalPooling

__init__()

初始化内部模块状态,由 nn.Module 和 ScriptModule 共享。

forward(input: MinkowskiSparseTensor.SparseTensor, input_glob: MinkowskiSparseTensor.SparseTensor)

定义每次调用时执行的计算。

应该被所有子类重写。

注意

虽然正向传递的配方需要在该函数中定义,但应该在此之后调用 Module 实例,而不是调用此函数,因为前者会处理运行注册的 hooks,而后者会默默地忽略它们。

MinkowskiBroadcastMultiplication

class MinkowskiEngine.MinkowskiBroadcastMultiplication

将缩减的特征广播到所有输入坐标。

\[\mathbf{y}_\mathbf{u} = \mathbf{x}_{1, \mathbf{u}} \times \mathbf{x}_2 \; \text{for} \; \mathbf{u} \in \mathcal{C}^\text{in}\]

对于所有输入 \(\mathbf{x}_\mathbf{u}\), 逐元素乘以 \(\mathbf{x}_2\)。 输出坐标将与输入坐标相同 \(\mathcal{C}^\text{in} = \mathcal{C}^\text{out}\)

注意

第一个参数接受稀疏张量; 第二个参数接受缩减到原点的特征。 这通常可以通过全局缩减来完成,例如 MinkowskiGlobalPooling

__init__()

初始化内部模块状态,由 nn.Module 和 ScriptModule 共享。

forward(input: MinkowskiSparseTensor.SparseTensor, input_glob: MinkowskiSparseTensor.SparseTensor)

定义每次调用时执行的计算。

应该被所有子类重写。

注意

虽然正向传递的配方需要在该函数中定义,但应该在此之后调用 Module 实例,而不是调用此函数,因为前者会处理运行注册的 hooks,而后者会默默地忽略它们。

MinkowskiBroadcastConcatenation

class MinkowskiEngine.MinkowskiBroadcastConcatenation

将缩减的特征广播到所有输入坐标并连接到输入。

\[\mathbf{y}_\mathbf{u} = [\mathbf{x}_{1,\mathbf{u}}, \mathbf{x}_2] \; \text{for} \; \mathbf{u} \in \mathcal{C}^\text{in}\]

对于所有输入 \(\mathbf{x}_\mathbf{u}\), 连接向量 \(\mathbf{x}_2\)\([\cdot, \cdot]\) 是一个连接运算符。 输出坐标将与输入坐标相同 \(\mathcal{C}^\text{in} = \mathcal{C}^\text{out}\)

注意

第一个参数接受稀疏张量; 第二个参数接受缩减到原点的特征。 这通常可以通过全局缩减来完成,例如 MinkowskiGlobalPooling

__init__()

初始化内部模块状态,由 nn.Module 和 ScriptModule 共享。

forward(input: MinkowskiSparseTensor.SparseTensor, input_glob: MinkowskiSparseTensor.SparseTensor)

定义每次调用时执行的计算。

应该被所有子类重写。

注意

虽然正向传递的配方需要在该函数中定义,但应该在此之后调用 Module 实例,而不是调用此函数,因为前者会处理运行注册的 hooks,而后者会默默地忽略它们。

MinkowskiBroadcast

class MinkowskiEngine.MinkowskiBroadcast

将缩减的特征广播到所有输入坐标。

\[\mathbf{y}_\mathbf{u} = \mathbf{x}_2 \; \text{for} \; \mathbf{u} \in \mathcal{C}^\text{in}\]

对于所有输入 \(\mathbf{x}_\mathbf{u}\), 逐元素复制值 \(\mathbf{x}_2\)。 输出坐标将与输入坐标相同 \(\mathcal{C}^\text{in} = \mathcal{C}^\text{out}\)。 第一个输入 \(\mathbf{x}_1\) 仅用于定义输出坐标。

注意

第一个参数接受稀疏张量; 第二个参数接受缩减到原点的特征。 这通常可以通过全局缩减来完成,例如 MinkowskiGlobalPooling

__init__()

初始化内部模块状态,由 nn.Module 和 ScriptModule 共享。

forward(input: MinkowskiSparseTensor.SparseTensor, input_glob: MinkowskiSparseTensor.SparseTensor)

定义每次调用时执行的计算。

应该被所有子类重写。

注意

虽然正向传递的配方需要在该函数中定义,但应该在此之后调用 Module 实例,而不是调用此函数,因为前者会处理运行注册的 hooks,而后者会默默地忽略它们。