Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 

39 Zeilen
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