diff options
Diffstat (limited to 'text_recognizer/models')
-rw-r--r-- | text_recognizer/models/dino.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/text_recognizer/models/dino.py b/text_recognizer/models/dino.py new file mode 100644 index 0000000..dca954c --- /dev/null +++ b/text_recognizer/models/dino.py @@ -0,0 +1,28 @@ +"""Dino: pretraining of models with self supervision.""" +import copy +from functools import wraps, partial + +import torch +from torch import nn +import torch.nn.funtional as F +import torchvision.transforms as T +import wandb + +from text_recognizer.models.base import LitBaseModel + + +def singleton(cache_key): + def inner_fn(fn): + @wraps(fn) + def wrapper(self, *args, **kwargs): + instance = getattr(self, cache_key) + if instance is not None: + return instance + + instance = fn(self, *args, **kwargs) + setattr(self, cache_key, instance) + return instance + + return wrapper + + return inner_fn |