| @@ 205-223 (lines=19) @@ | ||
| 202 | test_writer = tf.summary.FileWriter(tuning_summaries_dir + '/test') |
|
| 203 | valid_writer = tf.summary.FileWriter(tuning_summaries_dir + '/valid') |
|
| 204 | # Setup Stopping Criterion |
|
| 205 | if tuning_criterion == 'const_iterations': |
|
| 206 | _tuning_criterion = ConstIterations(num_iters=pretrain_iter_num) |
|
| 207 | train_x = x |
|
| 208 | train_y = y |
|
| 209 | elif tuning_criterion == 'monitor_based': |
|
| 210 | num_samples = x.shape[0] |
|
| 211 | valid_set_len = int(1 / 5 * num_samples) |
|
| 212 | valid_x = x[num_samples - valid_set_len:num_samples, :] |
|
| 213 | valid_y = y[num_samples - valid_set_len:num_samples, :] |
|
| 214 | train_x = x[0:num_samples - valid_set_len, :] |
|
| 215 | train_y = y[0:num_samples - valid_set_len, :] |
|
| 216 | _tuning_criterion = MonitorBased(n_steps=pretrain_iter_num, |
|
| 217 | monitor_fn=self.predict_accuracy, |
|
| 218 | monitor_fn_args=(valid_x, valid_y), |
|
| 219 | save_fn=tf.train.Saver().save, |
|
| 220 | save_fn_args=(session, tuning_summaries_dir + '/best.ckpt')) |
|
| 221 | else: |
|
| 222 | logger.error('Wrong criterion %s specified.' % pretrain_criterion) |
|
| 223 | return |
|
| 224 | injector = BatchInjector(data_x=train_x, data_y=train_y, batch_size=batch_size) |
|
| 225 | i = 0 |
|
| 226 | while _tuning_criterion.continue_learning(): |
|
| @@ 141-159 (lines=19) @@ | ||
| 138 | test_writer = tf.summary.FileWriter(layer_summaries_dir + '/test') |
|
| 139 | valid_writer = tf.summary.FileWriter(layer_summaries_dir + '/valid') |
|
| 140 | # Get Stopping Criterion |
|
| 141 | if pretrain_criterion == 'const_iterations': |
|
| 142 | _pretrain_criterion = ConstIterations(num_iters=pretrain_iter_num) |
|
| 143 | train_x = x |
|
| 144 | train_y = y |
|
| 145 | elif pretrain_criterion == 'monitor_based': |
|
| 146 | num_samples = x.shape[0] |
|
| 147 | valid_set_len = int(1 / 5 * num_samples) |
|
| 148 | valid_x = x[num_samples - valid_set_len:num_samples, :] |
|
| 149 | valid_y = y[num_samples - valid_set_len:num_samples, :] |
|
| 150 | train_x = x[0:num_samples - valid_set_len, :] |
|
| 151 | train_y = y[0:num_samples - valid_set_len, :] |
|
| 152 | _pretrain_criterion = MonitorBased(n_steps=pretrain_iter_num, |
|
| 153 | monitor_fn=self.get_encode_loss, |
|
| 154 | monitor_fn_args=(current_layer, valid_x, valid_y), |
|
| 155 | save_fn=tf.train.Saver().save, |
|
| 156 | save_fn_args=(session, layer_summaries_dir + '/best.ckpt')) |
|
| 157 | else: |
|
| 158 | logger.error('Wrong criterion %s specified.' % pretrain_criterion) |
|
| 159 | return |
|
| 160 | injector = BatchInjector(data_x=train_x, data_y=train_y, batch_size=batch_size) |
|
| 161 | i = 0 |
|
| 162 | while _pretrain_criterion.continue_learning(): |
|
| @@ 134-149 (lines=16) @@ | ||
| 131 | valid_writer = tf.summary.FileWriter(summaries_dir + '/valid') |
|
| 132 | session.run(tf.global_variables_initializer()) |
|
| 133 | # Get Stopping Criterion |
|
| 134 | if criterion == 'const_iteration': |
|
| 135 | criterion = ConstIterations(num_iters=iter_num) |
|
| 136 | elif criterion == 'monitor_based': |
|
| 137 | num_samples = x.shape[0] |
|
| 138 | valid_set_len = int(1/5 * num_samples) |
|
| 139 | valid_x = x[num_samples-valid_set_len:num_samples, :] |
|
| 140 | valid_y = y[num_samples-valid_set_len:num_samples, :] |
|
| 141 | x = x[0:num_samples-valid_set_len, :] |
|
| 142 | y = y[0:num_samples-valid_set_len, :] |
|
| 143 | _criterion = MonitorBased(n_steps=iter_num, |
|
| 144 | monitor_fn=self.predict_accuracy, monitor_fn_args=(valid_x, valid_y), |
|
| 145 | save_fn=tf.train.Saver().save, |
|
| 146 | save_fn_args=(session, summaries_dir + '/best.ckpt')) |
|
| 147 | else: |
|
| 148 | logger.error('Wrong criterion %s specified.' % criterion) |
|
| 149 | return |
|
| 150 | # Setup batch injector |
|
| 151 | injector = BatchInjector(data_x=x, data_y=y, batch_size=batch_size) |
|
| 152 | i = 0 |
|