All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
tesseract::ConvNetCharClassifier Class Reference

#include <conv_net_classifier.h>

Inheritance diagram for tesseract::ConvNetCharClassifier:
tesseract::CharClassifier

Public Member Functions

 ConvNetCharClassifier (CharSet *char_set, TuningParams *params, FeatureBase *feat_extract)
 
virtual ~ConvNetCharClassifier ()
 
virtual bool Train (CharSamp *char_samp, int ClassID)
 
virtual bool SetLearnParam (char *var_name, float val)
 
void SetNet (tesseract::NeuralNet *net)
 
virtual CharAltListClassify (CharSamp *char_samp)
 
virtual int CharCost (CharSamp *char_samp)
 
- Public Member Functions inherited from tesseract::CharClassifier
 CharClassifier (CharSet *char_set, TuningParams *params, FeatureBase *feat_extract)
 
virtual ~CharClassifier ()
 
FeatureBaseFeatureExtractor ()
 
bool CaseSensitive () const
 
void SetCaseSensitive (bool case_sensitive)
 

Additional Inherited Members

- Protected Attributes inherited from tesseract::CharClassifier
FeatureBasefeat_extract_
 
CharSetchar_set_
 
TuningParamsparams_
 
int ** fold_sets_
 
int * fold_set_len_
 
int fold_set_cnt_
 
bool init_
 
bool case_sensitive_
 

Detailed Description

Definition at line 48 of file conv_net_classifier.h.

Constructor & Destructor Documentation

tesseract::ConvNetCharClassifier::ConvNetCharClassifier ( CharSet char_set,
TuningParams params,
FeatureBase feat_extract 
)

Definition at line 38 of file conv_net_classifier.cpp.

41  : CharClassifier(char_set, params, feat_extract) {
42  char_net_ = NULL;
43  net_input_ = NULL;
44  net_output_ = NULL;
45 }
CharClassifier(CharSet *char_set, TuningParams *params, FeatureBase *feat_extract)
#define NULL
Definition: host.h:144
tesseract::ConvNetCharClassifier::~ConvNetCharClassifier ( )
virtual

Definition at line 47 of file conv_net_classifier.cpp.

47  {
48  if (char_net_ != NULL) {
49  delete char_net_;
50  char_net_ = NULL;
51  }
52 
53  if (net_input_ != NULL) {
54  delete []net_input_;
55  net_input_ = NULL;
56  }
57 
58  if (net_output_ != NULL) {
59  delete []net_output_;
60  net_output_ = NULL;
61  }
62 }
#define NULL
Definition: host.h:144

Member Function Documentation

int tesseract::ConvNetCharClassifier::CharCost ( CharSamp char_samp)
virtual

return the cost of being a char

Implements tesseract::CharClassifier.

Definition at line 187 of file conv_net_classifier.cpp.

187  {
188  if (RunNets(char_samp) == false) {
189  return 0;
190  }
191  return CubeUtils::Prob2Cost(1.0f - net_output_[0]);
192 }
static int Prob2Cost(double prob_val)
Definition: cube_utils.cpp:37
CharAltList * tesseract::ConvNetCharClassifier::Classify ( CharSamp char_samp)
virtual

classifies a charsamp and returns an alternate list of chars sorted by char costs

Implements tesseract::CharClassifier.

Definition at line 198 of file conv_net_classifier.cpp.

198  {
199  // run the needed nets
200  if (RunNets(char_samp) == false) {
201  return NULL;
202  }
203 
204  int class_cnt = char_set_->ClassCount();
205 
206  // create an altlist
207  CharAltList *alt_list = new CharAltList(char_set_, class_cnt);
208  if (alt_list == NULL) {
209  fprintf(stderr, "Cube WARNING (ConvNetCharClassifier::Classify): "
210  "returning emtpy CharAltList\n");
211  return NULL;
212  }
213 
214  for (int out = 1; out < class_cnt; out++) {
215  int cost = CubeUtils::Prob2Cost(net_output_[out]);
216  alt_list->Insert(out, cost);
217  }
218 
219  return alt_list;
220 }
static int Prob2Cost(double prob_val)
Definition: cube_utils.cpp:37
int ClassCount() const
Definition: char_set.h:111
#define NULL
Definition: host.h:144
bool tesseract::ConvNetCharClassifier::SetLearnParam ( char *  var_name,
float  val 
)
virtual

A secondary function needed for training. Allows the trainer to set the value of any train-time paramter. This function is currently not implemented. TODO(ahmadab): implement end-2-end training

Implements tesseract::CharClassifier.

Definition at line 78 of file conv_net_classifier.cpp.

78  {
79  // TODO(ahmadab): implementation of parameter initializing.
80  return false;
81 }
void tesseract::ConvNetCharClassifier::SetNet ( tesseract::NeuralNet char_net)

Set an external net (for training purposes)

Definition at line 225 of file conv_net_classifier.cpp.

225  {
226  if (char_net_ != NULL) {
227  delete char_net_;
228  char_net_ = NULL;
229  }
230  char_net_ = char_net;
231 }
#define NULL
Definition: host.h:144
bool tesseract::ConvNetCharClassifier::Train ( CharSamp char_samp,
int  ClassID 
)
virtual

The main training function. Given a sample and a class ID the classifier updates its parameters according to its learning algorithm. This function is currently not implemented. TODO(ahmadab): implement end-2-end training

Implements tesseract::CharClassifier.

Definition at line 69 of file conv_net_classifier.cpp.

69  {
70  return false;
71 }

The documentation for this class was generated from the following files: