Esempio n. 1
0
    def __init__(self, model_dir=None):
        """Programming language guesser.

        ``model_dir`` -- Guesslang machine learning model directory.

        """
        model_data = model_info(model_dir)

        #: `tensorflow` model directory
        self.model_dir = model_data[0]

        #: tells if current model is the default model
        self.is_default = model_data[1]

        #: supported languages with associated extensions
        self.languages = config_dict('languages.json')

        n_classes = len(self.languages)
        feature_columns = [
            tf.contrib.layers.real_valued_column('', dimension=CONTENT_SIZE)]

        self._classifier = tf.contrib.learn.DNNLinearCombinedClassifier(
            linear_feature_columns=feature_columns,
            dnn_feature_columns=feature_columns,
            dnn_hidden_units=_NEURAL_NETWORK_HIDDEN_LAYERS,
            n_classes=n_classes,
            linear_optimizer=tf.train.RMSPropOptimizer(_OPTIMIZER_STEP),
            dnn_optimizer=tf.train.RMSPropOptimizer(_OPTIMIZER_STEP),
            model_dir=self.model_dir)
Esempio n. 2
0
    def __init__(self, model_dir: Optional[str] = None) -> None:
        model_data = model_info(model_dir)

        #: `tensorflow` model directory
        self.model_dir: str = model_data[0]

        #: Tells if the current model is the default model
        self.is_default: bool = model_data[1]

        #: Supported languages associated with their extensions
        self.languages: Dict[str, List[str]] = config_dict('languages.json')

        n_classes = len(self.languages)
        feature_columns = [
            tf.contrib.layers.real_valued_column('', dimension=CONTENT_SIZE)
        ]

        self._classifier = tf.contrib.learn.DNNLinearCombinedClassifier(
            linear_feature_columns=feature_columns,
            dnn_feature_columns=feature_columns,
            dnn_hidden_units=NEURAL_NETWORK_HIDDEN_LAYERS,
            n_classes=n_classes,
            linear_optimizer=tf.train.RMSPropOptimizer(OPTIMIZER_STEP),
            dnn_optimizer=tf.train.RMSPropOptimizer(OPTIMIZER_STEP),
            model_dir=self.model_dir)