# %%
from siim_isic_melanoma_classification import (
    io,
    util,
    task,
    transforms as my_transforms,
)
from siim_isic_melanoma_classification.config import get_config
from siim_isic_melanoma_classification.net import EfficientNetB5MLP

# %%
config = get_config()

# %%
util.initialize(config)
if util.is_kaggle():
    import kaggle_timm_pretrained

    kaggle_timm_pretrained.patch()

# %%
train_transform = transforms.Compose([
    transforms.RandomResizedCrop(size=config.image_size, scale=(0.8, 1.0)),
    transforms.RandomHorizontalFlip(),
    transforms.RandomVerticalFlip(),
    my_transforms.Microscope(p=0.5),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224,
                                                          0.225]),
])
    Classifier,
)

# %%
from category_encoders import TargetEncoder

# %%
config = get_config()

# %%
logger = get_logger()
logger.log_hyperparams(config.__dict__)

# %%
util.initialize(config)
if util.is_kaggle():
    import kaggle_timm_pretrained

    kaggle_timm_pretrained.patch()

# %%
train_transform = transforms.Compose([
    transforms.RandomResizedCrop(size=config.image_size, scale=(0.8, 1.0)),
    transforms.RandomHorizontalFlip(),
    transforms.RandomVerticalFlip(),
    my_transforms.Microscope(p=0.5),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224,
                                                          0.225]),
])
test_transform = transforms.Compose([