Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 

39 righe
1.3 KiB

from math import ceil
from typing import Optional
import logging
from argparse import ArgumentParser
import sys
import os
class Config:
def __init__(self):
self.__logger: Optional[logging.Logger] = None
self.set_defaults()
def set_defaults(self):
self.NUM_TRAIN_EPOCHS = 100
self.SAVE_EVERY_EPOCHS = 5
self.TRAIN_BATCH_SIZE = 64
# model hyper-params
self.categories = 10
# self.learning_rate=0.001
# self.decay_rate=0.9
self.path_vocab_size = 27500
self.token_vocab_size = 1500
self.MAX_CONTEXTS = 200
self.MAX_TOKEN_VOCAB_SIZE = 1301136
self.MAX_PATH_VOCAB_SIZE = 911417
self.DEFAULT_EMBEDDINGS_SIZE = 64
self.TOKEN_EMBEDDINGS_SIZE = self.DEFAULT_EMBEDDINGS_SIZE
self.PATH_EMBEDDINGS_SIZE = self.DEFAULT_EMBEDDINGS_SIZE
self.CODE_VECTOR_SIZE = self.context_vector_size
self.TARGET_EMBEDDINGS_SIZE = self.CODE_VECTOR_SIZE
self.DROPOUT_KEEP_RATE = 0.5
@property
def context_vector_size(self) -> int:
# The context vector is actually a concatenation of the embedded
# source & target vectors and the embedded path vector.
return self.PATH_EMBEDDINGS_SIZE + 2 * self.TOKEN_EMBEDDINGS_SIZE