| # Loading the Generator Model | |
| To load and initialize the `Generator` (based on CycleGAN with better cycles) model from the repository, follow these steps: | |
| ## 1. Install Required Packages | |
| Ensure you have the necessary Python packages installed: | |
| ```bash | |
| pip install torch==2.5.1 torchvision==0.20.1 huggingface_hub | |
| ``` | |
| ## 2. Download Model Files | |
| Retrieve the `generator.pth` and `model.py` files from the Hugging Face repository using the `huggingface_hub` library: | |
| ```python | |
| from huggingface_hub import hf_hub_download | |
| repo_id = "Kiwinicki/sat2map-generator" | |
| model_path = hf_hub_download(repo_id=repo_id, filename="generator.pth") | |
| generator_code_path = hf_hub_download(repo_id=repo_id, filename="model.py") | |
| ``` | |
| ## 3. Load the Model | |
| Import the `Generator` class and load the model weights from the `.pth` file: | |
| ```python | |
| import torch | |
| from model import Generator, GeneratorConfig | |
| # Load the generator model | |
| cfg = GeneratorConfig() | |
| generator = Generator(cfg) | |
| generator.load_state_dict(torch.load('generator.pth')) | |
| generator.eval() | |
| # Test the model | |
| x = torch.randn([1, cfg.channels, 256, 256]) | |
| out = generator(x) | |
| print(f"Output shape: {out.shape}") | |
| ``` | |
| ## 4. Model Configuration | |
| The model uses the following default configuration: | |
| - **channels**: 3 (RGB images) | |
| - **num_features**: 64 (base number of features) | |
| - **num_residuals**: 12 (number of residual blocks) | |
| - **depth**: 4 (network depth) | |
| The `generator` is now ready for inference on satellite-to-map translation tasks. | |
| Model trained by Andrii Norets from "Czarna Magia". |