@@ -50,14 +50,15 @@ def create_trainer(args, converter, labels):
5050 logger .info ('Creating new network...' )
5151 # sum the number of features in all extractors' tables
5252 feat_size = converter .size ()
53- pool_size = args .window
53+ pool_size = args .window * 2 + 1
5454 nn = ConvolutionalNetwork (feat_size * pool_size , args .hidden ,
5555 args .hidden2 , len (labels ), pool_size )
5656 options = {
5757 'learning_rate' : args .learning_rate ,
58+ 'eps' : args .eps ,
5859 'verbose' : args .verbose ,
59- 'left_context' : args .window / 2 ,
60- 'right_context' : args .window / 2
60+ 'left_context' : args .window ,
61+ 'right_context' : args .window
6162 }
6263 trainer = ConvTrainer (nn , converter , labels , options )
6364
@@ -109,31 +110,33 @@ def main():
109110 format = parser .add_argument_group ('Format' )
110111
111112 format .add_argument ('--label-field' , type = int , default = 1 ,
112- help = 'Field containing label.' )
113+ help = 'Field containing label (default %(default)s) .' )
113114 format .add_argument ('--text-field' , type = int , default = 2 ,
114- help = 'Field containing text.' )
115+ help = 'Field containing text (default %(default)s) .' )
115116
116117 # training options
117118 train = parser .add_argument_group ('Train' )
118119
119120 train .add_argument ('-t' , '--train' , type = str , default = None ,
120- help = 'File with annotated data for training.' )
121+ help = 'File with annotated data for training.' )
121122
122123 train .add_argument ('-w' , '--window' , type = int , default = 5 ,
123- help = 'Size of the word window (default %(default)s)' )
124+ help = 'Size of the word window (default %(default)s)' )
124125 train .add_argument ('-s' , '--embeddings-size' , type = int , default = 50 ,
125- help = 'Number of features per word (default %(default)s)' ,
126- dest = 'embeddings_size' )
126+ help = 'Number of features per word (default %(default)s)' ,
127+ dest = 'embeddings_size' )
127128 train .add_argument ('-e' , '--epochs' , type = int , default = 100 ,
128- help = 'Number of training epochs (default %(default)s)' ,
129- dest = 'iterations' )
129+ help = 'Number of training epochs (default %(default)s)' ,
130+ dest = 'iterations' )
130131 train .add_argument ('-l' , '--learning_rate' , type = float , default = 0.001 ,
131- help = 'Learning rate for network weights (default %(default)s)' ,
132- dest = 'learning_rate' )
132+ help = 'Learning rate for network weights (default %(default)s)' ,
133+ dest = 'learning_rate' )
134+ train .add_argument ('--eps' , type = float , default = 1e-6 ,
135+ help = 'Epsilon value for AdaGrad (default %(default)s)' )
133136 train .add_argument ('-n' , '--hidden' , type = int , default = 200 ,
134- help = 'Number of hidden neurons (default %(default)s)' )
137+ help = 'Number of hidden neurons (default %(default)s)' )
135138 train .add_argument ('-n2' , '--hidden2' , type = int , default = 200 ,
136- help = 'Number of hidden neurons (default %(default)s)' )
139+ help = 'Number of hidden neurons (default %(default)s)' )
137140
138141 # Extractors:
139142 extractors = parser .add_argument_group ('Extractors' )
@@ -189,7 +192,7 @@ def main():
189192 sentences = reader .read (args .train )
190193
191194 if args .vocab and os .path .exists (args .vocab ):
192- if args .vectors and os .path .exists (args .vectors ):
195+ if args .vectors and os .path .exists (args .vectors ):
193196 # use supplied embeddings
194197 embeddings = Embeddings (vectors = args .vectors , vocab_file = args .vocab ,
195198 variant = args .variant )
@@ -285,7 +288,7 @@ def main():
285288 labels_index = {}
286289 labels = []
287290 for i ,c in enumerate (set (sent_labels )):
288- labels_index [c ] = i
291+ labels_index [c ] = i
289292 labels .append (c )
290293 trainer = create_trainer (args , converter , labels )
291294 logger .info ("Starting training with %d examples" % len (examples ))
0 commit comments