WrinkleBrane / test_wrinklebrane_small.py
WCNegentropy's picture
πŸ“š Updated with scientifically rigorous documentation
dc2b9f3 verified
#!/usr/bin/env python3
"""
Test script for WrinkleBrane dataset creation (small version)
"""
import os
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent))
import numpy as np
from wrinklebrane_dataset_builder import WrinkleBraneDatasetBuilder
def test_small_dataset():
print("πŸ§ͺ Testing WrinkleBrane Dataset Builder...")
# Create builder with your token
hf_token = "os.environ.get('HF_TOKEN', 'your-token-here')"
repo_id = "WrinkleBrane"
builder = WrinkleBraneDatasetBuilder(hf_token, repo_id)
# Test visual memory generation
print("πŸ‘οΈ Testing visual memory pairs...")
visual_samples = builder.generate_visual_memory_pairs(5, H=32, W=32)
print(f"βœ… Generated {len(visual_samples)} visual memory samples")
# Test synthetic maps
print("πŸ—ΊοΈ Testing synthetic maps...")
map_samples = builder.generate_synthetic_maps(3, H=32, W=32)
print(f"βœ… Generated {len(map_samples)} synthetic map samples")
# Test interference studies
print("⚑ Testing interference studies...")
interference_samples = builder.generate_interference_studies(4, H=16, W=16)
print(f"βœ… Generated {len(interference_samples)} interference samples")
# Test orthogonality benchmarks
print("πŸ“ Testing orthogonality benchmarks...")
orthogonal_samples = builder.generate_orthogonality_benchmarks(2, L=16, K=16)
print(f"βœ… Generated {len(orthogonal_samples)} orthogonality samples")
# Test persistence traces
print("⏰ Testing persistence traces...")
persistence_samples = builder.generate_persistence_traces(3, H=16, W=16)
print(f"βœ… Generated {len(persistence_samples)} persistence samples")
# Show sample structure
print("\nπŸ“Š Visual Memory Sample Structure:")
if visual_samples:
sample = visual_samples[0]
for key, value in sample.items():
if key in ["key_pattern", "value_pattern"]:
arr = np.array(value)
print(f" {key}: shape {arr.shape}, range [{arr.min():.3f}, {arr.max():.3f}]")
else:
print(f" {key}: {value}")
print("\nπŸ“Š Interference Sample Structure:")
if interference_samples:
sample = interference_samples[0]
for key, value in sample.items():
if key in ["key_pattern", "value_pattern"]:
arr = np.array(value)
print(f" {key}: shape {arr.shape}, range [{arr.min():.3f}, {arr.max():.3f}]")
elif key not in ["key_pattern", "value_pattern"] and value is not None:
print(f" {key}: {value}")
print("\nπŸŽ‰ All tests passed! WrinkleBrane dataset builder is working correctly.")
return True
if __name__ == "__main__":
test_small_dataset()