Skip to content

Instantly share code, notes, and snippets.

View spirosdim's full-sized avatar

Spyridon Dimitriadis spirosdim

View GitHub Profile
import torch
from detectron2.solver.build import get_default_optimizer_params
from detectron2.solver.build import maybe_add_gradient_clipping
class MyTrainer(DefaultTrainer):
@classmethod
def build_optimizer(cls, cfg, model):
"""
Build an optimizer from config.
"""
@spirosdim
spirosdim / img_normalization_stats.py
Created November 11, 2021 08:11
Find the mean and std from images for image normalization using pytorch.
import PIL, os
from tqdm import tqdm
import numpy as np
import torch
from torch.utils.data import Dataset
class ImgDataset(Dataset):
def __init__(self, data_dir, extension='.jpg', transform=None):
self.data_dir = data_dir
self.image_files = [f for f in os.listdir(data_dir) if f.endswith(extension)]
@spirosdim
spirosdim / det2_inference.py
Last active April 6, 2022 12:44
Detectron2 Inference script
import torch
from detectron2.modeling import build_model
from detectron2.checkpoint import DetectionCheckpointer
import detectron2.data.transforms as T
from detectron2.data.detection_utils import read_image
class MyPredictor:
"""
source: https://github.com/facebookresearch/detectron2/blob/08f617cc2c9276a48e7e7dc96ae946a5df23af3f/detectron2/engine/defaults.py#L252
@spirosdim
spirosdim / add_augmentations.py
Created April 6, 2022 14:28
Add augmentations on the Trainer class, Detectron2
class MyTrainer(DefaultTrainer):
@classmethod
def build_train_loader(cls, cfg):
mapper_train = DatasetMapper(cfg,
is_train=True,
augmentations=[ #Apply a sequence of augmentations.
T.RandomFlip(prob=0.5, horizontal=False, vertical=True),
T.RandomFlip(prob=0.5, horizontal=True, vertical=False),
T.RandomRotation(angle=[0, 90, 180, 270], sample_style="choice"),
@spirosdim
spirosdim / pt_inference.py
Last active July 7, 2022 13:30
AWS SageMaker inference using PyTorchModel
import torch
import torch.nn as nn
import json
from pathlib import Path
from transformers import AutoConfig, AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained('distilbert-base-uncased')
class Tagger(nn.Module):
"""
@spirosdim
spirosdim / hf_inference.py
Created July 8, 2022 13:21
AWS SageMaker inference script using HuggingFaceModel
from pathlib import Path
import torch
import torch.nn as nn
from transformers import AutoConfig, AutoTokenizer, AutoModel
class Tagger(nn.Module):
"""
Minimal model class just for inference
"""
def __init__(self):