Download tests/test_raster_diffusion.py from mrinal22258/floorgen: direct link, hf CLI and curl.
- Browser
- Download file 1.39 kB
-
https://huggingface.co/mrinal22258/floorgen/resolve/main/tests/test_raster_diffusion.py
- Command line
-
hf download hf://mrinal22258/floorgen/tests/test_raster_diffusion.py
-
curl -L -o test_raster_diffusion.py https://huggingface.co/mrinal22258/floorgen/resolve/main/tests/test_raster_diffusion.py
1.39 kB
| """ | |
| Unit tests for Raster Diffusion, Renderer, and VQ-VAE Floorplan Previews. | |
| """ | |
| import numpy as np | |
| import torch | |
| import pytest | |
| from floorgen.models.diffusion_core.raster_diffusion import ( | |
| VectorToRasterRenderer, | |
| VectorConditionedVQVAE, | |
| generate_raster_preview | |
| ) | |
| def test_vector_to_raster_renderer(): | |
| sample_plan = { | |
| "rooms": [ | |
| {"category": "living_room", "box": [20, 20, 120, 100]}, | |
| {"category": "master_bedroom", "box": [120, 20, 200, 100]}, | |
| {"category": "bathroom", "box": [120, 100, 180, 150]} | |
| ], | |
| "doors": [{"pos": [120, 50]}], | |
| "boundary": [20, 20, 200, 150] | |
| } | |
| renderer = VectorToRasterRenderer(canvas_size=256) | |
| img = renderer.render(sample_plan) | |
| assert isinstance(img, np.ndarray) | |
| assert img.shape == (256, 256, 3) | |
| assert img.dtype == np.uint8 | |
| # Should not be a blank white canvas | |
| assert np.any(img != 255) | |
| # Test convenience function | |
| preview = generate_raster_preview(sample_plan) | |
| assert preview.shape == (256, 256, 3) | |
| def test_vqvae_forward_pass(): | |
| vqvae = VectorConditionedVQVAE(in_channels=3, latent_dim=32, num_embeddings=64) | |
| dummy_img = torch.rand(2, 3, 256, 256) | |
| recon, quantized = vqvae(dummy_img) | |
| assert recon.shape == (2, 3, 256, 256) | |
| assert quantized.shape == (2, 32, 32, 32) | |
| assert not torch.isnan(recon).any() | |