              count_feats(counts[gold], feats, n_feats, cost)
              count_feats(counts[guess], feats, n_feats, -cost)
              self._model.update(counts)
  
      def end_training(self):
          self._model.end_training()
          self._model.dump(self.model_loc, freq_thresh=0)
 
</s> remove         self._model.dump(self.model_loc, freq_thresh=0)
 </s> add         self._model.dump(model_loc, freq_thresh=0) </s> remove     @classmethod
    def default_dep_templates(cls):
        return []

    @classmethod
    def default_ner_templates(cls):
        return []

 </s> add  </s> remove     def make_lemmatizer(self):
        return None
 </s> add     @classmethod
    def blank(cls, vocab, templates):
        model = Model(vocab.morphology.n_tags, templates, model_loc=None)
        return cls(vocab, model) </s> remove     def __init__(self, Vocab vocab, templates):
        self.mem = Pool()
 </s> add     @classmethod
    def from_dir(cls, data_dir, vocab):
        if path.exists(path.join(data_dir, 'templates.json')):
            templates = json.loads(open(path.join(data_dir, 'templates.json')))
        else:
            templates = cls.default_templates()
        model = Model(vocab.morphology.n_tags, templates, data_dir)
        return cls(vocab, model)

    def __init__(self, Vocab vocab, model): </s> remove         return tuple(sorted(self.vocab.morphology.tag_map.keys()))

    @classmethod
    def from_dir(cls, data_dir, vocab):
        if path.exists(path.join(data_dir, 'templates.json')):
            templates = json.loads(open(path.join(data_dir, 'templates.json')))
        else:
            templates = cls.default_templates()
        return cls(vocab, templates)
 </s> add         return self.vocab.morphology.tag_names
    def end_training(self, model_loc=None):
        if model_loc is None:
            model_loc = self.model_loc
              count_feats(counts[gold], feats, n_feats, cost)
              count_feats(counts[guess], feats, n_feats, -cost)
              self._model.update(counts)
  
    def end_training(self, model_loc=None):
        if model_loc is None:
            model_loc = self.model_loc
          self._model.end_training()
          self._model.dump(self.model_loc, freq_thresh=0)
keep keep keep keep replace keep keep
 * Tagger training now working. Still need to test load/save of model. Morphology still broken. 
spacy/_ml.pyx