import torch
import torch.nn as nn
import torch.optim as optim
from torchvision import datasets, transforms
from torch.utils.data import Dataset, DataLoader

import random
import numpy as np
from typing import Callable, Any,Literal
from dataclasses import dataclass,asdict,field