geolip scene classifier proto
Disposing of the old concept we now have a robust factory to test and utilize for synthetic scene construction. This will be expanded as training continues, and will start at less shapes first to increase model complexity training to more.
In this repo has a simple colab testing script that will activate the repo and test the baseline shape structures. Not bad for a day.
"""
try:
!pip uninstall -qy geolip
except:
pass
!pip install "git+https://github.com/AbstractEyes/glip-autoencoder.git" -q
"""
Looks like claude took some shortcuts, I'll fix them tomorrow.
β All imports resolved
======================================================================
FORWARD PASS TESTS β Device: cuda
======================================================================
ββ SimplexFactory ββ
β numpy regular (shape=(5, 10))
β torch regular (dtype=torch.float32)
β numpy random (shape=(5, 10))
β torch random (dtype=torch.float32)
β numpy uniform (shape=(5, 10))
β torch uniform (dtype=torch.float32)
β regular edge uniformity (edge_std=0.00000000)
β reproducibility
β CUDA build (device=cuda:0)
ββ CayleyMengerFormula ββ
β volume > 0 (vol=0.023292)
β is_valid
β regularity ~1.0 (reg=1.000000)
β edge_lengths shape
β degenerate detected (vol=-0.00e+00)
β batched volume shape
β batched edge_lengths
β gradient through volume
β numpy backend
ββ CayleyMengerValidator ββ
β gram_volume_sq shape
β validity_loss scalar (val=0.000000)
β consistency_loss scalar (val=1728.068359)
β regularity_loss scalar (val=0.928428)
β combined_loss scalar
β validate bool tensor
β analyze returns dict
ββ KSimplexLinear ββ
β forward init=regular (out=torch.Size([4, 256]))
β forward init=random (out=torch.Size([4, 256]))
β forward init=uniform (out=torch.Size([4, 256]))
β input!=output forward
β batched (2,16,64)
β gradient flow
β per-channel differentiation (diff=1.856000)
β simplex template shape (shape=torch.Size([5, 5]))
β param ratio < 0.2 (ratio=0.1490)
ββ CrystalSuperpositionHead ββ
β scores shape (no gates)
β proj shape
β scores shape (with gates)
β zero-fill fallback
β diagnostics has keys
β no collapsed crystals (collapsed=0)
β edge regularity (edge_std=0.0000)
β crystal reproducibility
β forward init=regular
β forward init=random
β forward init=uniform
ββ RoseLoss ββ
β loss scalar (loss=5.6436)
β info has rose (rose=5.6436)
β info has collapse (collapse=0.0000)
β info has f1 (f1=0.1091)
β CM passthrough
β CM=None works
β crystal grad from loss
ββ ShapeFormulas ββ
β volume: sphere β 4Ο/3 (vol=4.0610 expectedβ4.1888)
β volume: convex_hull > 0 (vol=5.6000)
β volume: voxel > 0 (vol=7.2721)
β volume: monte_carlo > 0 (vol=1.3512)
β surface_area: sphere β 4Ο (area=12.3096 expectedβ12.5664)
β quality: sphere > 0.7 (q=0.8856)
β quality: cube > 0.7 (q=0.9100)
β quality: line < 0.7 (q=0.6990)
β quality: outliers < 0.5 (q=0.3772)
β quality: all keys
β quality: batch (2,N,3)
β classifier: sphere->sphere (got=sphere)
β classifier: cube->cube (got=cube)
β classifier: cyl->cylinder (got=cylinder)
β validator: sphere valid (score=1.0000)
β validator: all check keys
β transform: rotation preserves distances
β transform: scale fails rotation check
ββ SimpleShapeFactory ββ
β factory cube: classifies correctly (got=cube)
β factory cube: quality > 0.7 (q=0.9100)
β factory sphere: classifies correctly (got=sphere)
β factory sphere: quality > 0.7 (q=0.8856)
β factory cylinder: classifies correctly (got=cylinder)
β factory cylinder: quality > 0.7 (q=0.8964)
β factory pyramid: classifies correctly (got=pyramid)
β factory pyramid: quality > 0.7 (q=0.8278)
β factory cone: classifies correctly (got=cone)
β factory cone: quality > 0.7 (q=0.7873)
β sphere embed_dim=5
β 5d sphere: unit norms (mean=1.0000)
β cylinder 5d: dims 3-4 zero
β shape reproducibility
β scale=3.0 range (max=2.99)
β metrics: volume key
β metrics: quality key
β metrics: classification key
β CUDA shape build
ββ ShapeDeformer ββ
β deform stretch: changes points (mean_diff=0.028808)
β deform stretch: preserves shape
β deform twist: changes points (mean_diff=0.134114)
β deform twist: preserves shape
β deform taper: changes points (mean_diff=0.038202)
β deform taper: preserves shape
β deform noise: changes points (mean_diff=0.023275)
β deform noise: preserves shape
β deform shear: changes points (mean_diff=0.026289)
β deform shear: preserves shape
β deform bend: changes points (mean_diff=0.040808)
β deform bend: preserves shape
β random deform: has meta (type=stretch)
β deform invariance: 26/30 correct (acc=86.67%)
β deform stretch mag=0.8: finite
β deform twist mag=0.8: finite
β deform taper mag=0.8: finite
β deform noise mag=0.8: finite
β deform shear mag=0.8: finite
β deform bend mag=0.8: finite
β deform 5D twist
ββ SO(5) Rotation ββ
β SO(5) det=1 (det=1.000000)
β SO(5) orthogonal (err=1.19e-07)
β SO(5) torch det=1 (det=1.000000)
β SO(5) torch orthogonal (err=2.38e-07)
β SO(5) preserves norms
ββ SceneBuilder ββ
β scene: points shape
β scene: labels shape
β scene: point_labels shape
β scene: overlap shape
β scene: n_shapes in range (n=2)
β scene: meta count
β scene: all finite
β scene: points in [-1,1] (max=0.8141)
β scene: labels match meta (meta={2, 4} labels={2, 4})
β scene: no orphan point labels (orphans=0)
β scene: cylinder has labeled points (n=263)
β scene: cone has labeled points (n=249)
β scene: overlap >= membership (violations=0)
β scene: meta keys
β scene: rotation is 5x5
β scene: rotation is SO(5) (det=1.000000)
β scene: reproducibility
β scene: different seeds differ
β scene: different label combos possible
β batch: points shape
β batch: labels shape
β batch: point_labels shape
β batch: overlap shape
β batch: label diversity (unique_combos=7/8)
β batch: all finite
β batch: all in [-1,1]
β scene torch: type
β scene torch: shape
β batch torch: points
β stream: count
β 1-shape: n_shapes
β 1-shape: exactly 1 label
β 5-shape: n_shapes
β 5-shape: labels match unique types (labels=3 unique=3)
β scene validate()
β scene CUDA
ββ End-to-End Pipeline ββ
β factory->formula valid
β gradient -> KSimplexLinear
β gradient -> crystals
β e2e < 5s (elapsed=0.01s)
======================================================================
Results: 155 passed, 0 failed out of 155 tests
All forward passes operational.
======================================================================
Inference Providers NEW
This model isn't deployed by any Inference Provider. π Ask for provider support