import torch

DEVICE = "cuda" if torch.cuda.is_available() else "cpu"

# TRAINING HYPER-PARAMETERS
LOSS_FUNCTION = torch.nn.MSELoss()
LEARNING_RATE = 0.01
MOMENTUM = 0.05
WEIGHT_DECAY = 0.00005
GAMMA = 0.5
MILESTONES = [160]
EPOCHS = 300
BATCH_SIZE = 1
TEST_RATIO = 0
CHECKPOINT_SAVE_INTERVAL = 50
NUM_WORKERS = 0
INSTANCE_CATEGORY_NAMES = ['__background__', 'tardigrade', 'echiniscus']
CLASSES_NUMBER = len(INSTANCE_CATEGORY_NAMES)
KEYPOINTS = 7

# INFERENCE HYPER-PARAMETERS
BOX_NMS_THRESH = 0.40
RPN_SCORE_THRESH = 0.90
BOX_SCORE_THRESH = 0.90

import torch

DEVICE = "cuda" if torch.cuda.is_available() else "cpu"

# TRAINING HYPER-PARAMETERS
LOSS_FUNCTION = torch.nn.MSELoss()
LEARNING_RATE = 0.01
MOMENTUM = 0.05
WEIGHT_DECAY = 0.00005
GAMMA = 0.5
MILESTONES = [160]
EPOCHS = 300
BATCH_SIZE = 1
TEST_RATIO = 0
CHECKPOINT_SAVE_INTERVAL = 50
NUM_WORKERS = 0
INSTANCE_CATEGORY_NAMES = ['__background__', 'tardigrade', 'echiniscus']
CLASSES_NUMBER = len(INSTANCE_CATEGORY_NAMES)
KEYPOINTS = 7

# INFERENCE HYPER-PARAMETERS
BOX_NMS_THRESH = 0.40
RPN_SCORE_THRESH = 0.90
BOX_SCORE_THRESH = 0.90

# TRAINING HYPER-PARAMETERS # INFERENCE HYPER-PARAMETERS