vintage-gan / models /__init__.py
msrishav's picture
Upload academic VintageGAN project
059f915 verified
Raw
History Blame Contribute Delete
1.67 kB
"""
VintageGAN Models Module
Neural network architectures for VintageGAN.
Modules:
generator: U-Net with ResNet34 encoder and conditioning
discriminator: PatchGAN discriminator with conditioning
attention: Self-attention and CBAM modules
detectors: Optional defect detection networks
"""
from .attention import SelfAttention, ChannelAttention, SpatialAttention, CBAM
from .generator import Generator, ConditionProjection, SpectralNorm
from .discriminator import Discriminator, MultiScaleDiscriminator
__all__ = [
# Attention modules
"SelfAttention",
"ChannelAttention",
"SpatialAttention",
"CBAM",
# Generator
"Generator",
"ConditionProjection",
# Discriminator
"Discriminator",
"MultiScaleDiscriminator",
# Utilities
"SpectralNorm",
]
def __getattr__(name):
"""Lazily import detector utilities so basic model imports stay lightweight."""
if name in {
"DefectDetector",
"MultiDefectDetector",
"create_detectors",
"train_detectors",
}:
from .detectors import (
DefectDetector,
MultiDefectDetector,
create_detectors,
train_detectors,
)
exports = {
"DefectDetector": DefectDetector,
"MultiDefectDetector": MultiDefectDetector,
"create_detectors": create_detectors,
"train_detectors": train_detectors,
}
return exports[name]
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
__version__ = "0.1.0"
__author__ = "VintageGAN Project"