Artifact builder

class torch_lattice.artifact.builder.ModuleLowering(fn, arities)[source]

Bases: object

Parameters:
fn: Callable[[...], ArtifactValue]
arities: frozenset[int]
lower(builder, name, module, inputs)[source]
Return type:

ArtifactValue

Parameters:
torch_lattice.artifact.builder.module_lowering(*types, arity=1)[source]

Register a Torch module lowering method.

Return type:

Callable[[Callable[..., ArtifactValue]], Callable[..., ArtifactValue]]

Parameters:
class torch_lattice.artifact.builder.ArtifactValue(value, kind, channels)[source]

Bases: object

A value in the Torch-to-lattice artifact graph.

Parameters:
  • value (object)

  • kind (Literal['sparse_tensor', 'dense_tensor'])

  • channels (int | None)

value: object
kind: Literal['sparse_tensor', 'dense_tensor']
channels: int | None
class torch_lattice.artifact.builder.TorchLatticeArtifactBuilder(*, input_name='input', output_name='output', input_dtype='f32', batch_size=None, quantize_bits=None, quantize_group_size=32, quantize_scale_dtype='f16', create_default_input=True, input_stride=(1, 1, 1))[source]

Bases: object

Explicit builder for Torch-to-lattice MLIR artifacts.

Parameters:
  • input_name (str)

  • output_name (str)

  • input_dtype (str)

  • batch_size (int | None)

  • quantize_bits (int | None)

  • quantize_group_size (int)

  • quantize_scale_dtype (str)

  • create_default_input (bool)

property current: ArtifactValue
property weights: dict[str, Tensor]
sparse_input()[source]
Return type:

ArtifactValue

sparse_argument(name, *, dtype=None, channels=None, stride=(1, 1, 1))[source]
Return type:

ArtifactValue

Parameters:
  • name (str)

  • dtype (str | None)

  • channels (int | None)

dense_argument(name, type, *, channels=None)[source]
Return type:

ArtifactValue

Parameters:
  • name (str)

  • type (str | TensorType)

  • channels (int | None)

module(name, module)[source]
Return type:

ArtifactValue

Parameters:
lower_module(name, module, *inputs)[source]
Return type:

ArtifactValue

Parameters:
conv3d(name, module, input, coordinates=None)[source]
Return type:

ArtifactValue

Parameters:
subm_conv3d(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
normalized_subm_conv3d(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
conv_transpose3d(name, module, input, coordinates=None)[source]
Return type:

ArtifactValue

Parameters:
normalized_conv_transpose3d(name, module, input, coordinates=None)[source]
Return type:

ArtifactValue

Parameters:
generative_conv_transpose3d(name, module, input, coordinates=None)[source]
Return type:

ArtifactValue

Parameters:
normalized_generative_conv_transpose3d(name, module, input, coordinates=None)[source]
Return type:

ArtifactValue

Parameters:
pool3d(name, module, input=None)[source]
Return type:

ArtifactValue

Parameters:
pool_transpose3d(name, module, input, target=None)[source]
Return type:

ArtifactValue

Parameters:
trilinear_upsample3d(name, module, input, target=None)[source]
Return type:

ArtifactValue

Parameters:
voxelize(name, *, points, features, batch_indices, active_rows, voxel_size, origin=0.0, reduction='mean', stride=1)[source]
Return type:

ArtifactValue

Parameters:
devoxelize(name, *, points, voxels, batch_indices, point_active_rows, voxel_size, origin=0.0, interpolation='nearest')[source]
Return type:

ArtifactValue

Parameters:
batch_norm(name, module, input=None)[source]
Return type:

ArtifactValue

Parameters:
layer_norm(name, module, input=None)[source]
Return type:

ArtifactValue

Parameters:
rms_norm(name, module, input=None)[source]
Return type:

ArtifactValue

Parameters:
relu(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
leaky_relu(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
silu(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
gelu(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
sigmoid(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
tanh(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
softplus(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
activation(name, kind, *, input=None, approximate='none', alpha=0.01, beta=1.0, threshold=20.0)[source]
Return type:

ArtifactValue

Parameters:
global_avg_pool(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
global_max_pool(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
global_sum_pool(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
global_pool(name, mode, input=None)[source]
Return type:

ArtifactValue

Parameters:
linear(name, module, input=None)[source]
Return type:

ArtifactValue

Parameters:
dropout(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
flatten(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
identity(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
instance_norm(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
group_norm(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
sparse_crop(name, module, input)[source]
Return type:

ArtifactValue

Parameters:
sparse_binary(name, lhs, rhs, op, *, join='outer', lhs_fill=0.0, rhs_fill=0.0)[source]
Return type:

ArtifactValue

Parameters:
sparse_add(name, lhs, rhs, *, join='outer', lhs_fill=0.0, rhs_fill=0.0)[source]
Return type:

ArtifactValue

Parameters:
sparse_cat(name, lhs, rhs, *, join='inner')[source]
Return type:

ArtifactValue

Parameters:
sparse_reindex(name, input, target, *, fill=0.0)[source]
Return type:

ArtifactValue

Parameters:
output(*values, names=None)[source]
Return type:

None

Parameters:
to_mlir()[source]
Return type:

str

save(artifact_dir, *, clean=True, validate=True)[source]
Parameters: