Skip to content

Instantly share code, notes, and snippets.

View Ab1992ao's full-sized avatar

Alexander Abramov Ab1992ao

View GitHub Profile
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@Ab1992ao
Ab1992ao / softmax_loss.py
Last active June 2, 2021 22:10
define softmax_loss
def softmax_loss(vectors):
anc, pos, neg = vectors
c = 0.5
anc = c * anc
pos = c * pos
neg = c * neg
pos_sim = tf.reduce_sum((anc * pos), axis=-1, keepdims=True)
@Ab1992ao
Ab1992ao / train_sbert_config.py
Created June 2, 2021 13:43
training config for sbert mlttsk
class TrainingConfig:
def __init__(self, **kwargs):
self.model_name = "sbert_tuned"
self.data_dir = "/content/drive/MyDrive/"
self.module_path = "/content/bert_module/"
self.pretrained_ckpt = None
self.generation = "sbert"
self.ctx_len = 24
@Ab1992ao
Ab1992ao / ner_tag_collback.py
Created May 17, 2021 10:20
evaluate ner model in mltsk pipe
class TagCallback(Callback):
def __init__(self, dataset, call_model=None, name="NER_ACC"):
self.call_model = call_model
self.dataset = dataset
self.best = 0
self.name = name
super(TagCallback, self).__init__()
def on_epoch_end(self, epoch, logs=None):
@Ab1992ao
Ab1992ao / toxic_task_callback.py
Created May 17, 2021 10:08
evaluate toxic task head by mltsk pipe
class AucCallback(Callback):
def __init__(self, dataset, call_model=None, savepath=None, name="AUC"):
self.call_model = call_model
self.dataset = dataset
self.best = 0
self.name = name
self.savepath = savepath
super(AucCallback, self).__init__()
@Ab1992ao
Ab1992ao / build_mltsk_model.py
Last active June 3, 2021 09:06
get mltsk NN model
class SBERT:
def __init__(self, config):
self.loss = 0
self.metrics = []
self.inputs = []
self.config = config
self.build()
def build(self):
@Ab1992ao
Ab1992ao / joint_loss.py
Last active June 2, 2021 22:12
agg loss for multitask pipe
def softmax_loss(vectors):
anc, pos, neg = vectors
c = 0.5
anc = c * anc
pos = c * pos
neg = c * neg
pos_sim = tf.reduce_sum((anc * pos), axis=-1, keepdims=True)
@Ab1992ao
Ab1992ao / multitask_data_generator.py
Created May 17, 2021 09:23
complex data generator for multitask pipe
class MultitaskDataGenerator:
def __init__(self, generators):
self.generators = generators
self.generator = self.generate_batch()
def generate_batch(self, batch_size=None):
while True:
batch = self.__next__()
yield batch
@Ab1992ao
Ab1992ao / multiclass_generator.py
Created May 17, 2021 09:18
generate clf data for multitask pipe
class MulticlassGenerator:
def __init__(self, data_tuple, batch_size=256):
self._data = data_tuple
self._idx = np.arange(len(data_tuple[-1]))
self.generator = self.generate_batch(batch_size)
def generate_batch(self, size):
while True:
px_ids = np.random.choice(self._idx, size, replace=False)
samples = [p[px_ids] for p in self._data[:-1]]
@Ab1992ao
Ab1992ao / triplet_generator.py
Created May 17, 2021 09:16
generate triplet data for multitask learning pipe
class TripletGenerator:
def __init__(self, datadict, hard_frac = 0.5, batch_size=256):
self.datadict = datadict
self._anchor_idx = np.array(list(self.datadict.keys()))
self._hard_frac = hard_frac
self.generator = self.generate_batch(batch_size)
def generate_batch(self, size):
while True: