src.tests.spconv3d_arch_test
Classes
- class src.tests.spconv3d_arch_test.SpConv3DArchTest
- Author:
Alberto M. Esmoris Pena
Sparse 3D convolutional architecture test. Compares the layer-by-layer and encoder/decoder build paths for bit-equivalence on a tiny synthetic point cloud through the dense-gather architecture interface (no
hk, nohv, nostarttensors — neighbor tables only).Additionally verifies:
Passing the legacy
submanifold_filtersfield raisesDeepLearningExceptionwith a migration message.The architecture trains for one epoch on synthetic input and produces predictions of the expected per-RF row count after
DLSparseConcatSequencer.post_process_output.
- MAX_DEPTH = 3
- __init__()
Basic configuration for any VL3D test.
- Parameters:
name (str) – Test name
- run()
Run the test.
- Returns:
True if test is successfully passed, False otherwise.
- Return type:
bool
- subtest_legacy_filters_rejected()
Passing the legacy submanifold_filters field must raise DeepLearningException with a migration message that names submanifold_features and the standard sparse-conv math.
- subtest_smoke_train_and_predict()
Build a small SpConv model in encoder/decoder mode, train for a single epoch on synthetic data, and confirm the prediction list matches the per-RF row counts.
- subtest_layer_by_layer_vs_fused_paths()
The layer-by-layer build helpers still use the unmasked
BatchNormalizationwhile the only available sequencer pads every batch with zero rows, which would silently bias the BN running statistics. The architecture refuses the combination at instantiation; this subtest verifies the explicit rejection and confirms the fused path still round-trips fit / predict cleanly.