In [1]:
from google.colab import drive
drive.mount('/content/gdrive')
import os
os.chdir('/content/gdrive/My Drive/finch/tensorflow2/text_matching/chinese/main')
Drive already mounted at /content/gdrive; to attempt to forcibly remount, call drive.mount("/content/gdrive", force_remount=True).
In [2]:
%tensorflow_version 2.x
!pip install tensorflow-addons
!pip install jieba
Requirement already satisfied: tensorflow-addons in /usr/local/lib/python3.6/dist-packages (0.8.3)
Requirement already satisfied: typeguard in /usr/local/lib/python3.6/dist-packages (from tensorflow-addons) (2.7.1)
Requirement already satisfied: jieba in /usr/local/lib/python3.6/dist-packages (0.42.1)
In [3]:
from tensorflow_addons.optimizers.cyclical_learning_rate import Triangular2CyclicalLearningRate

import csv
import tensorflow as tf
import numpy as np
import pprint
import logging
import time
import math
import jieba

jieba.add_word('微信')
jieba.add_word('微粒贷')

print("TensorFlow Version", tf.__version__)
print('GPU Enabled:', tf.test.is_gpu_available())
Building prefix dict from the default dictionary ...
Loading model from cache /tmp/jieba.cache
Loading model cost 0.636 seconds.
Prefix dict has been built successfully.
TensorFlow Version 2.3.0
WARNING:tensorflow:From <ipython-input-3-7a76baf63b3f>:16: is_gpu_available (from tensorflow.python.framework.test_util) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.config.list_physical_devices('GPU')` instead.
GPU Enabled: True
In [4]:
def get_vocab(f_path):
  k2v = {}
  with open(f_path) as f:
    for i, line in enumerate(f):
      line = line.rstrip()
      k2v[line] = i
  return k2v


def get_idx(symbol2idx, symbol):
  return symbol2idx.get(symbol, len(symbol2idx))
In [5]:
def get_chars(text, char2idx):
  chars = []
  for w in text:
    temp = []
    for c in list(w):
      temp.append(get_idx(params['char2idx'], c))
    if len(temp) < params['max_char_len']:
      temp += [0] * (params['max_char_len'] - len(temp))
    else:
      temp = temp[:params['max_char_len']]
    chars.append(temp)
  return chars


# stream data from text files
def data_generator(f_path, params):
  word2idx = params['word2idx']
  char2idx = params['char2idx']
  with open(f_path) as f:
    print('Reading', f_path)
    for i, line in enumerate(csv.reader(f, delimiter=',')):
      if i == 0:
        continue
      text1, text2, label = line
      text1 = list(jieba.cut(text1))
      text2 = list(jieba.cut(text2))
      word1 = [word2idx.get(w, len(word2idx)) for w in text1]
      word2 = [word2idx.get(w, len(word2idx)) for w in text2]
      char1 = get_chars(text1, char2idx)
      char2 = get_chars(text2, char2idx)
      yield word1, char1, word2, char2, int(label)


def dataset(is_training, params):
  _shapes = ([None], [None, params['max_char_len']], [None], [None, params['max_char_len']], ())
  _types = (tf.int32, tf.int32, tf.int32, tf.int32, tf.int32)
  _pads = (0, 0, 0, 0, -1)
  
  if is_training:
    ds = tf.data.Dataset.from_generator(
      lambda: data_generator(params['train_path'], params),
      output_shapes = _shapes,
      output_types = _types,)
    ds = ds.shuffle(params['buffer_size'])
    ds = ds.padded_batch(params['batch_size'], _shapes, _pads)
    ds = ds.prefetch(tf.data.experimental.AUTOTUNE)
  else:
    ds = tf.data.Dataset.from_generator(
      lambda: data_generator(params['test_path'], params),
      output_shapes = _shapes,
      output_types = _types,)
    ds = ds.padded_batch(params['batch_size'], _shapes, _pads)
    ds = ds.prefetch(tf.data.experimental.AUTOTUNE)
  return ds
In [6]:
class AttentivePooling(tf.keras.Model):
  def __init__(self, params):
    super().__init__()
    self.dropout_1 = tf.keras.layers.Dropout(params['dropout_rate'])
    self.kernel_1 = tf.keras.layers.Dense(units=300, activation=params['activation'])
    self.dropout_2 = tf.keras.layers.Dropout(params['dropout_rate'])
    self.kernel_2 = tf.keras.layers.Dense(units=1, use_bias=False)

  
  def call(self, inputs, training):
    x = self.dropout_1(inputs, training=training)
    x = self.kernel_1(x)
    x = self.dropout_2(x, training=training)
    x = self.kernel_2(x)
    align = tf.squeeze(x, -1)
    align = tf.nn.softmax(align)
    align = tf.expand_dims(align, -1)
    return tf.squeeze(tf.matmul(inputs, align, transpose_a=True), -1)
In [7]:
class RE2(tf.keras.Model):
  def __init__(self, params: dict):
    super().__init__()
    
    self.word_embedding = tf.Variable(np.load('../vocab/word.npy'), name='word_embedding', dtype=tf.float32)
    self.char_embedding = tf.Variable(np.load('../vocab/char.npy'), name='char_embedding', dtype=tf.float32)
    self.char_dropout = tf.keras.layers.Dropout(params['dropout_rate'])
    
    self.attention = AttentivePooling(params)
    self.embed_dropout = tf.keras.layers.Dropout(params['dropout_rate'])

    self.birnn = [tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(
        params['hidden_size'], return_sequences=True, zero_output_for_mask=True), name='birnn_%d'%(i+1)) for i in range(params['num_blocks'])]
    self.enc_dropout = tf.keras.layers.Dropout(params['dropout_rate'])
    
    self.align_t = self.add_weight(name='temperature',
                                   shape=(),
                                   trainable=True,
                                   initializer=tf.initializers.constant(math.sqrt(1/params['hidden_size'])))
    self.align_dropout = tf.keras.layers.Dropout(params['dropout_rate'])
    self.align_fc1 = [tf.keras.layers.Dense(params['hidden_size'], params['activation'], name='align_fc1_%d'%(i+1)) for i in range(params['num_blocks'])]
    self.align_fc2 = [tf.keras.layers.Dense(params['hidden_size'], params['activation'], name='align_fc2_%d'%(i+1)) for i in range(params['num_blocks'])]
      
    self.fusion_fc1 = [tf.keras.layers.Dense(params['hidden_size'], params['activation'], name='fusion_fc1_%d'%(i+1)) for i in range(params['num_blocks'])]
    self.fusion_fc2 = [tf.keras.layers.Dense(params['hidden_size'], params['activation'], name='fusion_fc2_%d'%(i+1)) for i in range(params['num_blocks'])]
    self.fusion_fc3 = [tf.keras.layers.Dense(params['hidden_size'], params['activation'], name='fusion_fc3_%d'%(i+1)) for i in range(params['num_blocks'])]
    self.fusion_fc4 = [tf.keras.layers.Dense(params['hidden_size'], params['activation'], name='fusion_fc4_%d'%(i+1)) for i in range(params['num_blocks'])]
    self.fusion_dropout = tf.keras.layers.Dropout(params['dropout_rate'])
    
    self.out_drop1 = tf.keras.layers.Dropout(params['dropout_rate'])
    self.out_fc = tf.keras.layers.Dense(params['hidden_size'], params['activation'], name='out_fc')
    self.out_drop2 = tf.keras.layers.Dropout(params['dropout_rate'])
    self.out_linear = tf.keras.layers.Dense(1, name='out_linear')
    
  
  def inp_type_check(self, x):
    if x.dtype != tf.int32:
      x = tf.cast(x, tf.int32)
    return x


  def multi_level_embed(self, c, c_mask, w, training):
    batch_sz = tf.shape(w)[0]
    seq_len = tf.shape(w)[1]
    c = tf.reshape(c, (batch_sz*seq_len, params['max_char_len'], 300))
    c_mask = tf.reshape(c_mask, (batch_sz*seq_len, params['max_char_len'], 1))
    c *= tf.cast(c_mask, tf.float32)
    c = self.attention(c, training=training)
    c = tf.reshape(c, (batch_sz, seq_len, 300))
    x = tf.concat((w, c), -1)
    x = self.embed_dropout(x, training=training)
    return x


  def call(self, inputs, training=False):
    word1, char1, word2, char2 = inputs
    
    word1 = self.inp_type_check(word1)
    char1 = self.inp_type_check(char1)
    word2 = self.inp_type_check(word2)
    char2 = self.inp_type_check(char2)
    
    batch_sz = tf.shape(word1)[0]
    
    mask1 = tf.sign(word1)
    mask2 = tf.sign(word2)
    char_mask1 = tf.sign(char1)
    char_mask2 = tf.sign(char2)
    
    word1 = tf.nn.embedding_lookup(self.word_embedding, word1)
    word2 = tf.nn.embedding_lookup(self.word_embedding, word2)
    char1 = tf.nn.embedding_lookup(self.char_embedding, char1)
    char2 = tf.nn.embedding_lookup(self.char_embedding, char2)

    x1 = self.multi_level_embed(char1, char_mask1, word1, training=training)
    x2 = self.multi_level_embed(char2, char_mask2, word2, training=training)
    
    res_x1, res_x2 = x1, x2
    
    for i in range(params['num_blocks']):
      
      if i > 0:
        x1 = self.connection(x1, res_x1, i)
        x2 = self.connection(x2, res_x2, i)
        res_x1, res_x2 = x1, x2
    
      x1_enc = self.encoding(x1, mask1, i, training=training)
      x2_enc = self.encoding(x2, mask2, i, training=training)
    
      x1 = tf.concat((x1, x1_enc), -1)
      x2 = tf.concat((x2, x2_enc), -1)
      
      align_1, align_2 = self.alignment(x1, x2, mask1, mask2, i, training=training)
      
      x1 = self.fusion(x1, align_1, i, training=training)
      x2 = self.fusion(x2, align_2, i, training=training)
    
    x1 = self.pooling(x1, mask1)
    x2 = self.pooling(x2, mask2)
    
    x = self.prediction(x1, x2, training=training)
    
    return x
  
  
  def connection(self, x, res, i):
    if i == 1:
      x = tf.concat((res, x), -1)
    elif i > 1:
      hidden_size = x.shape[-1]
      x = (res[:, :, -hidden_size:] + x) * tf.math.sqrt(0.5)
      x = tf.concat((res[:, :, :-hidden_size], x), -1)
    return x
    
    
  def encoding(self, x, mask, i, training):
    x = self.birnn[i](x, mask=tf.cast(mask, tf.bool))
    x = self.enc_dropout(x, training=training)
    return x
  
  
  def alignment(self, x1, x2, mask1, mask2, i, training):
    mask1 = tf.cast(tf.expand_dims(mask1, -1), tf.float32)
    mask2 = tf.cast(tf.expand_dims(mask2, -1), tf.float32)
    
    x1_ = self.align_fc1[i](self.align_dropout(x1, training=training))
    x2_ = self.align_fc2[i](self.align_dropout(x2, training=training))
    align = tf.matmul(x1_, x2_, transpose_b=True) * self.align_t
    mask = tf.matmul(mask1, mask2, transpose_b=True)
    align = mask * align + (1 - mask) * tf.float32.min
    align_1 = tf.nn.softmax(align, 1)
    align_2 = tf.nn.softmax(align, 2)
    
    x2 = tf.matmul(align_1, x1, transpose_a=True)
    x1 = tf.matmul(align_2, x2)
    return x1, x2
  
  
  def fusion(self, x, align, i, training):
    x = tf.concat([self.fusion_fc1[i](tf.concat((x, align), -1)),
                   self.fusion_fc2[i](tf.concat((x, x - align), -1)),
                   self.fusion_fc3[i](tf.concat((x, x * align), -1))], -1)
    x = self.fusion_dropout(x, training=training)
    x = self.fusion_fc4[i](x)
    return x
  
  
  def pooling(self, x, mask):
    mask = tf.cast(tf.expand_dims(mask, -1), tf.float32)
    return tf.reduce_max(x * mask, 1)
  
  
  def prediction(self, x1, x2, training):
    x = tf.concat((x1, x2, x1 * x2, x1 - x2), -1)
    x = self.out_drop1(x, training=training)
    x = self.out_fc(x)
    x = self.out_drop2(x, training=training)
    x = self.out_linear(x)
    x = tf.squeeze(x, 1)
    return x
In [8]:
params = {
  'train_path': '../data/train.csv',
  'test_path': '../data/test.csv',
  'batch_size': 32,
  'buffer_size': 100000,
  'max_char_len': 4,
  'num_blocks': 2,
  'dropout_rate': .2,
  'hidden_size': 300,
  'activation': tf.nn.swish,
  'init_lr': 1e-4,
  'max_lr': 8e-4,
  'label_smooth': .2,
  'clip_norm': .1,
  'num_patience': 10,
}
In [9]:
def label_smoothing(inputs, epsilon):
  V = inputs.get_shape().as_list()[-1]
  return ((1-epsilon) * inputs) + (epsilon / V)
In [10]:
params['word2idx'] = get_vocab('../vocab/word.txt')
params['word_size'] = len(params['word2idx']) + 1
params['char2idx'] = get_vocab('../vocab/char.txt',)
params['char_size'] = len(params['char2idx']) + 1

word1, char1, word2, char2, label = next(data_generator(params['train_path'], params))
print(word1)
print(char1)
print(word2)
print(char2)
Reading ../data/train.csv
[74, 38, 68, 390, 555, 2, 38, 14, 12, 145]
[[54, 0, 0, 0], [10, 43, 0, 0], [126, 0, 0, 0], [222, 0, 0, 0], [278, 0, 0, 0], [5, 0, 0, 0], [10, 43, 0, 0], [16, 17, 0, 0], [10, 23, 12, 0], [108, 25, 0, 0]]
[236, 47, 4974, 4974, 149, 106, 12]
[[179, 0, 0, 0], [95, 0, 0, 0], [1503, 0, 0, 0], [1503, 0, 0, 0], [45, 64, 0, 0], [75, 0, 0, 0], [10, 23, 12, 0]]
In [11]:
model = RE2(params)
model.build([[None, None], [None, None, params['max_char_len']], [None, None], [None, None, params['max_char_len']]])
pprint.pprint([(v.name, v.shape) for v in model.trainable_variables])

decay_lr = Triangular2CyclicalLearningRate(
  initial_learning_rate = params['init_lr'],
  maximal_learning_rate = params['max_lr'],
  step_size = 4 * params['buffer_size'] // params['batch_size'],)
optim = tf.optimizers.Adam(params['init_lr'])
global_step = 0

best_acc = .0
count = 0

t0 = time.time()
logger = logging.getLogger('tensorflow')
logger.setLevel(logging.INFO)

while True:
  # TRAINING
  for (word1, char1, word2, char2, labels) in dataset(is_training=True, params=params):
    with tf.GradientTape() as tape:
      logits = model((word1, char1, word2, char2), training=True)
      loss = tf.compat.v1.losses.sigmoid_cross_entropy(
        tf.expand_dims(tf.cast(labels, tf.float32), -1),
        logits=tf.expand_dims(logits, -1),
        label_smoothing=params['label_smooth'])
      
    optim.lr.assign(decay_lr(global_step))
    grads = tape.gradient(loss, model.trainable_variables)
    grads, _ = tf.clip_by_global_norm(grads, params['clip_norm'])
    optim.apply_gradients(zip(grads, model.trainable_variables))
    
    if global_step % 100 == 0:
      logger.info("Step {} | Loss: {:.4f} | Spent: {:.1f} secs | LR: {:.6f}".format(
          global_step, loss.numpy().item(), time.time()-t0, optim.lr.numpy().item()))
      t0 = time.time()
    global_step += 1
  
  # EVALUATION
  m = tf.keras.metrics.Accuracy()

  for (word1, char1, word2, char2, labels) in dataset(is_training=False, params=params):
    logits = tf.sigmoid(model((word1, char1, word2, char2), training=False))
    y_pred = tf.cast(tf.math.greater_equal(logits, .5), tf.int32)
    m.update_state(y_true=labels, y_pred=y_pred)

  acc = m.result().numpy()
  logger.info("Evaluation: Testing Accuracy: {:.3f}".format(acc))

  if acc > best_acc:
    best_acc = acc
    # you can save model here
    count = 0
  else:
    count += 1
  logger.info("Best Accuracy: {:.3f}".format(best_acc))

  if count == params['num_patience']:
    print(params['num_patience'], "times not improve the best result, therefore stop training")
    break
[('attentive_pooling/dense/kernel:0', TensorShape([300, 300])),
 ('attentive_pooling/dense/bias:0', TensorShape([300])),
 ('attentive_pooling/dense_1/kernel:0', TensorShape([300, 1])),
 ('birnn_1/forward_lstm/lstm_cell_1/kernel:0', TensorShape([600, 1200])),
 ('birnn_1/forward_lstm/lstm_cell_1/recurrent_kernel:0',
  TensorShape([300, 1200])),
 ('birnn_1/forward_lstm/lstm_cell_1/bias:0', TensorShape([1200])),
 ('birnn_1/backward_lstm/lstm_cell_2/kernel:0', TensorShape([600, 1200])),
 ('birnn_1/backward_lstm/lstm_cell_2/recurrent_kernel:0',
  TensorShape([300, 1200])),
 ('birnn_1/backward_lstm/lstm_cell_2/bias:0', TensorShape([1200])),
 ('birnn_2/forward_lstm_1/lstm_cell_4/kernel:0', TensorShape([900, 1200])),
 ('birnn_2/forward_lstm_1/lstm_cell_4/recurrent_kernel:0',
  TensorShape([300, 1200])),
 ('birnn_2/forward_lstm_1/lstm_cell_4/bias:0', TensorShape([1200])),
 ('birnn_2/backward_lstm_1/lstm_cell_5/kernel:0', TensorShape([900, 1200])),
 ('birnn_2/backward_lstm_1/lstm_cell_5/recurrent_kernel:0',
  TensorShape([300, 1200])),
 ('birnn_2/backward_lstm_1/lstm_cell_5/bias:0', TensorShape([1200])),
 ('align_fc1_1/kernel:0', TensorShape([1200, 300])),
 ('align_fc1_1/bias:0', TensorShape([300])),
 ('align_fc1_2/kernel:0', TensorShape([1500, 300])),
 ('align_fc1_2/bias:0', TensorShape([300])),
 ('align_fc2_1/kernel:0', TensorShape([1200, 300])),
 ('align_fc2_1/bias:0', TensorShape([300])),
 ('align_fc2_2/kernel:0', TensorShape([1500, 300])),
 ('align_fc2_2/bias:0', TensorShape([300])),
 ('fusion_fc1_1/kernel:0', TensorShape([2400, 300])),
 ('fusion_fc1_1/bias:0', TensorShape([300])),
 ('fusion_fc1_2/kernel:0', TensorShape([3000, 300])),
 ('fusion_fc1_2/bias:0', TensorShape([300])),
 ('fusion_fc2_1/kernel:0', TensorShape([2400, 300])),
 ('fusion_fc2_1/bias:0', TensorShape([300])),
 ('fusion_fc2_2/kernel:0', TensorShape([3000, 300])),
 ('fusion_fc2_2/bias:0', TensorShape([300])),
 ('fusion_fc3_1/kernel:0', TensorShape([2400, 300])),
 ('fusion_fc3_1/bias:0', TensorShape([300])),
 ('fusion_fc3_2/kernel:0', TensorShape([3000, 300])),
 ('fusion_fc3_2/bias:0', TensorShape([300])),
 ('fusion_fc4_1/kernel:0', TensorShape([900, 300])),
 ('fusion_fc4_1/bias:0', TensorShape([300])),
 ('fusion_fc4_2/kernel:0', TensorShape([900, 300])),
 ('fusion_fc4_2/bias:0', TensorShape([300])),
 ('out_fc/kernel:0', TensorShape([1200, 300])),
 ('out_fc/bias:0', TensorShape([300])),
 ('out_linear/kernel:0', TensorShape([300, 1])),
 ('out_linear/bias:0', TensorShape([1])),
 ('word_embedding:0', TensorShape([4977, 300])),
 ('char_embedding:0', TensorShape([1507, 300])),
 ('temperature:0', TensorShape([]))]
Reading ../data/train.csv
INFO:tensorflow:Step 0 | Loss: 0.6929 | Spent: 35.7 secs | LR: 0.000100
INFO:tensorflow:Step 100 | Loss: 0.6810 | Spent: 13.2 secs | LR: 0.000106
INFO:tensorflow:Step 200 | Loss: 0.6846 | Spent: 13.6 secs | LR: 0.000111
INFO:tensorflow:Step 300 | Loss: 0.6876 | Spent: 13.2 secs | LR: 0.000117
INFO:tensorflow:Step 400 | Loss: 0.6476 | Spent: 13.3 secs | LR: 0.000122
INFO:tensorflow:Step 500 | Loss: 0.6809 | Spent: 13.2 secs | LR: 0.000128
INFO:tensorflow:Step 600 | Loss: 0.6425 | Spent: 13.3 secs | LR: 0.000134
INFO:tensorflow:Step 700 | Loss: 0.6158 | Spent: 13.3 secs | LR: 0.000139
INFO:tensorflow:Step 800 | Loss: 0.5628 | Spent: 13.2 secs | LR: 0.000145
INFO:tensorflow:Step 900 | Loss: 0.6014 | Spent: 13.3 secs | LR: 0.000150
INFO:tensorflow:Step 1000 | Loss: 0.5800 | Spent: 13.2 secs | LR: 0.000156
INFO:tensorflow:Step 1100 | Loss: 0.6725 | Spent: 13.2 secs | LR: 0.000162
INFO:tensorflow:Step 1200 | Loss: 0.5795 | Spent: 13.3 secs | LR: 0.000167
INFO:tensorflow:Step 1300 | Loss: 0.6245 | Spent: 13.3 secs | LR: 0.000173
INFO:tensorflow:Step 1400 | Loss: 0.5059 | Spent: 13.2 secs | LR: 0.000178
INFO:tensorflow:Step 1500 | Loss: 0.6368 | Spent: 13.2 secs | LR: 0.000184
INFO:tensorflow:Step 1600 | Loss: 0.6820 | Spent: 13.2 secs | LR: 0.000190
INFO:tensorflow:Step 1700 | Loss: 0.5387 | Spent: 13.5 secs | LR: 0.000195
INFO:tensorflow:Step 1800 | Loss: 0.6434 | Spent: 13.4 secs | LR: 0.000201
INFO:tensorflow:Step 1900 | Loss: 0.4462 | Spent: 13.2 secs | LR: 0.000206
INFO:tensorflow:Step 2000 | Loss: 0.4816 | Spent: 13.2 secs | LR: 0.000212
INFO:tensorflow:Step 2100 | Loss: 0.5475 | Spent: 13.5 secs | LR: 0.000218
INFO:tensorflow:Step 2200 | Loss: 0.5579 | Spent: 13.3 secs | LR: 0.000223
INFO:tensorflow:Step 2300 | Loss: 0.5402 | Spent: 13.3 secs | LR: 0.000229
INFO:tensorflow:Step 2400 | Loss: 0.5398 | Spent: 13.3 secs | LR: 0.000234
INFO:tensorflow:Step 2500 | Loss: 0.5303 | Spent: 13.7 secs | LR: 0.000240
INFO:tensorflow:Step 2600 | Loss: 0.6124 | Spent: 13.4 secs | LR: 0.000246
INFO:tensorflow:Step 2700 | Loss: 0.6720 | Spent: 13.5 secs | LR: 0.000251
INFO:tensorflow:Step 2800 | Loss: 0.4912 | Spent: 13.1 secs | LR: 0.000257
INFO:tensorflow:Step 2900 | Loss: 0.5347 | Spent: 13.3 secs | LR: 0.000262
INFO:tensorflow:Step 3000 | Loss: 0.6527 | Spent: 13.5 secs | LR: 0.000268
INFO:tensorflow:Step 3100 | Loss: 0.5174 | Spent: 13.3 secs | LR: 0.000274
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.781
INFO:tensorflow:Best Accuracy: 0.781
Reading ../data/train.csv
INFO:tensorflow:Step 3200 | Loss: 0.5095 | Spent: 70.5 secs | LR: 0.000279
INFO:tensorflow:Step 3300 | Loss: 0.4612 | Spent: 13.2 secs | LR: 0.000285
INFO:tensorflow:Step 3400 | Loss: 0.5102 | Spent: 13.4 secs | LR: 0.000290
INFO:tensorflow:Step 3500 | Loss: 0.4697 | Spent: 13.3 secs | LR: 0.000296
INFO:tensorflow:Step 3600 | Loss: 0.5131 | Spent: 13.5 secs | LR: 0.000302
INFO:tensorflow:Step 3700 | Loss: 0.5683 | Spent: 13.4 secs | LR: 0.000307
INFO:tensorflow:Step 3800 | Loss: 0.4976 | Spent: 13.2 secs | LR: 0.000313
INFO:tensorflow:Step 3900 | Loss: 0.5024 | Spent: 13.4 secs | LR: 0.000318
INFO:tensorflow:Step 4000 | Loss: 0.5449 | Spent: 13.3 secs | LR: 0.000324
INFO:tensorflow:Step 4100 | Loss: 0.4823 | Spent: 13.1 secs | LR: 0.000330
INFO:tensorflow:Step 4200 | Loss: 0.6008 | Spent: 13.2 secs | LR: 0.000335
INFO:tensorflow:Step 4300 | Loss: 0.4487 | Spent: 13.4 secs | LR: 0.000341
INFO:tensorflow:Step 4400 | Loss: 0.5028 | Spent: 13.6 secs | LR: 0.000346
INFO:tensorflow:Step 4500 | Loss: 0.6137 | Spent: 13.3 secs | LR: 0.000352
INFO:tensorflow:Step 4600 | Loss: 0.4647 | Spent: 13.3 secs | LR: 0.000358
INFO:tensorflow:Step 4700 | Loss: 0.5356 | Spent: 13.3 secs | LR: 0.000363
INFO:tensorflow:Step 4800 | Loss: 0.5326 | Spent: 13.3 secs | LR: 0.000369
INFO:tensorflow:Step 4900 | Loss: 0.4429 | Spent: 13.4 secs | LR: 0.000374
INFO:tensorflow:Step 5000 | Loss: 0.5907 | Spent: 13.1 secs | LR: 0.000380
INFO:tensorflow:Step 5100 | Loss: 0.6176 | Spent: 13.1 secs | LR: 0.000386
INFO:tensorflow:Step 5200 | Loss: 0.5860 | Spent: 13.3 secs | LR: 0.000391
INFO:tensorflow:Step 5300 | Loss: 0.5665 | Spent: 13.3 secs | LR: 0.000397
INFO:tensorflow:Step 5400 | Loss: 0.5199 | Spent: 13.2 secs | LR: 0.000402
INFO:tensorflow:Step 5500 | Loss: 0.5340 | Spent: 13.3 secs | LR: 0.000408
INFO:tensorflow:Step 5600 | Loss: 0.4333 | Spent: 13.1 secs | LR: 0.000414
INFO:tensorflow:Step 5700 | Loss: 0.5783 | Spent: 13.2 secs | LR: 0.000419
INFO:tensorflow:Step 5800 | Loss: 0.4985 | Spent: 13.3 secs | LR: 0.000425
INFO:tensorflow:Step 5900 | Loss: 0.4775 | Spent: 13.3 secs | LR: 0.000430
INFO:tensorflow:Step 6000 | Loss: 0.5218 | Spent: 13.2 secs | LR: 0.000436
INFO:tensorflow:Step 6100 | Loss: 0.5092 | Spent: 13.4 secs | LR: 0.000442
INFO:tensorflow:Step 6200 | Loss: 0.5488 | Spent: 13.2 secs | LR: 0.000447
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.794
INFO:tensorflow:Best Accuracy: 0.794
Reading ../data/train.csv
INFO:tensorflow:Step 6300 | Loss: 0.4247 | Spent: 70.3 secs | LR: 0.000453
INFO:tensorflow:Step 6400 | Loss: 0.4533 | Spent: 13.5 secs | LR: 0.000458
INFO:tensorflow:Step 6500 | Loss: 0.5377 | Spent: 13.3 secs | LR: 0.000464
INFO:tensorflow:Step 6600 | Loss: 0.4841 | Spent: 13.2 secs | LR: 0.000470
INFO:tensorflow:Step 6700 | Loss: 0.4431 | Spent: 13.4 secs | LR: 0.000475
INFO:tensorflow:Step 6800 | Loss: 0.4492 | Spent: 13.3 secs | LR: 0.000481
INFO:tensorflow:Step 6900 | Loss: 0.4882 | Spent: 13.3 secs | LR: 0.000486
INFO:tensorflow:Step 7000 | Loss: 0.6090 | Spent: 13.3 secs | LR: 0.000492
INFO:tensorflow:Step 7100 | Loss: 0.4592 | Spent: 13.1 secs | LR: 0.000498
INFO:tensorflow:Step 7200 | Loss: 0.5038 | Spent: 13.2 secs | LR: 0.000503
INFO:tensorflow:Step 7300 | Loss: 0.3673 | Spent: 13.4 secs | LR: 0.000509
INFO:tensorflow:Step 7400 | Loss: 0.3785 | Spent: 13.3 secs | LR: 0.000514
INFO:tensorflow:Step 7500 | Loss: 0.4586 | Spent: 13.4 secs | LR: 0.000520
INFO:tensorflow:Step 7600 | Loss: 0.4113 | Spent: 13.3 secs | LR: 0.000526
INFO:tensorflow:Step 7700 | Loss: 0.3705 | Spent: 13.4 secs | LR: 0.000531
INFO:tensorflow:Step 7800 | Loss: 0.4537 | Spent: 13.4 secs | LR: 0.000537
INFO:tensorflow:Step 7900 | Loss: 0.5063 | Spent: 13.4 secs | LR: 0.000542
INFO:tensorflow:Step 8000 | Loss: 0.4846 | Spent: 13.2 secs | LR: 0.000548
INFO:tensorflow:Step 8100 | Loss: 0.4688 | Spent: 13.4 secs | LR: 0.000554
INFO:tensorflow:Step 8200 | Loss: 0.4490 | Spent: 13.4 secs | LR: 0.000559
INFO:tensorflow:Step 8300 | Loss: 0.3737 | Spent: 13.4 secs | LR: 0.000565
INFO:tensorflow:Step 8400 | Loss: 0.5732 | Spent: 13.2 secs | LR: 0.000570
INFO:tensorflow:Step 8500 | Loss: 0.5149 | Spent: 13.3 secs | LR: 0.000576
INFO:tensorflow:Step 8600 | Loss: 0.4721 | Spent: 13.5 secs | LR: 0.000582
INFO:tensorflow:Step 8700 | Loss: 0.5909 | Spent: 13.6 secs | LR: 0.000587
INFO:tensorflow:Step 8800 | Loss: 0.4512 | Spent: 13.3 secs | LR: 0.000593
INFO:tensorflow:Step 8900 | Loss: 0.4942 | Spent: 13.2 secs | LR: 0.000598
INFO:tensorflow:Step 9000 | Loss: 0.4474 | Spent: 13.3 secs | LR: 0.000604
INFO:tensorflow:Step 9100 | Loss: 0.3722 | Spent: 13.4 secs | LR: 0.000610
INFO:tensorflow:Step 9200 | Loss: 0.5068 | Spent: 13.4 secs | LR: 0.000615
INFO:tensorflow:Step 9300 | Loss: 0.4491 | Spent: 13.3 secs | LR: 0.000621
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.796
INFO:tensorflow:Best Accuracy: 0.796
Reading ../data/train.csv
INFO:tensorflow:Step 9400 | Loss: 0.4990 | Spent: 70.5 secs | LR: 0.000626
INFO:tensorflow:Step 9500 | Loss: 0.4334 | Spent: 13.4 secs | LR: 0.000632
INFO:tensorflow:Step 9600 | Loss: 0.3942 | Spent: 13.3 secs | LR: 0.000638
INFO:tensorflow:Step 9700 | Loss: 0.4246 | Spent: 13.3 secs | LR: 0.000643
INFO:tensorflow:Step 9800 | Loss: 0.4334 | Spent: 13.2 secs | LR: 0.000649
INFO:tensorflow:Step 9900 | Loss: 0.4362 | Spent: 13.1 secs | LR: 0.000654
INFO:tensorflow:Step 10000 | Loss: 0.4479 | Spent: 13.5 secs | LR: 0.000660
INFO:tensorflow:Step 10100 | Loss: 0.4608 | Spent: 13.3 secs | LR: 0.000666
INFO:tensorflow:Step 10200 | Loss: 0.3820 | Spent: 13.2 secs | LR: 0.000671
INFO:tensorflow:Step 10300 | Loss: 0.4813 | Spent: 13.2 secs | LR: 0.000677
INFO:tensorflow:Step 10400 | Loss: 0.3659 | Spent: 13.2 secs | LR: 0.000682
INFO:tensorflow:Step 10500 | Loss: 0.4216 | Spent: 13.3 secs | LR: 0.000688
INFO:tensorflow:Step 10600 | Loss: 0.5334 | Spent: 13.8 secs | LR: 0.000694
INFO:tensorflow:Step 10700 | Loss: 0.3939 | Spent: 13.1 secs | LR: 0.000699
INFO:tensorflow:Step 10800 | Loss: 0.4955 | Spent: 13.3 secs | LR: 0.000705
INFO:tensorflow:Step 10900 | Loss: 0.4051 | Spent: 13.3 secs | LR: 0.000710
INFO:tensorflow:Step 11000 | Loss: 0.4187 | Spent: 13.3 secs | LR: 0.000716
INFO:tensorflow:Step 11100 | Loss: 0.4582 | Spent: 13.2 secs | LR: 0.000722
INFO:tensorflow:Step 11200 | Loss: 0.3652 | Spent: 13.4 secs | LR: 0.000727
INFO:tensorflow:Step 11300 | Loss: 0.3964 | Spent: 13.3 secs | LR: 0.000733
INFO:tensorflow:Step 11400 | Loss: 0.5155 | Spent: 13.2 secs | LR: 0.000738
INFO:tensorflow:Step 11500 | Loss: 0.5464 | Spent: 13.3 secs | LR: 0.000744
INFO:tensorflow:Step 11600 | Loss: 0.4780 | Spent: 13.2 secs | LR: 0.000750
INFO:tensorflow:Step 11700 | Loss: 0.4929 | Spent: 13.2 secs | LR: 0.000755
INFO:tensorflow:Step 11800 | Loss: 0.4989 | Spent: 13.4 secs | LR: 0.000761
INFO:tensorflow:Step 11900 | Loss: 0.4458 | Spent: 13.5 secs | LR: 0.000766
INFO:tensorflow:Step 12000 | Loss: 0.4500 | Spent: 13.2 secs | LR: 0.000772
INFO:tensorflow:Step 12100 | Loss: 0.4162 | Spent: 13.4 secs | LR: 0.000778
INFO:tensorflow:Step 12200 | Loss: 0.4796 | Spent: 13.3 secs | LR: 0.000783
INFO:tensorflow:Step 12300 | Loss: 0.4546 | Spent: 13.3 secs | LR: 0.000789
INFO:tensorflow:Step 12400 | Loss: 0.4368 | Spent: 13.4 secs | LR: 0.000794
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.808
INFO:tensorflow:Best Accuracy: 0.808
Reading ../data/train.csv
INFO:tensorflow:Step 12500 | Loss: 0.3815 | Spent: 70.6 secs | LR: 0.000800
INFO:tensorflow:Step 12600 | Loss: 0.4280 | Spent: 13.3 secs | LR: 0.000794
INFO:tensorflow:Step 12700 | Loss: 0.3903 | Spent: 13.5 secs | LR: 0.000789
INFO:tensorflow:Step 12800 | Loss: 0.3715 | Spent: 13.2 secs | LR: 0.000783
INFO:tensorflow:Step 12900 | Loss: 0.4568 | Spent: 13.2 secs | LR: 0.000778
INFO:tensorflow:Step 13000 | Loss: 0.4119 | Spent: 13.5 secs | LR: 0.000772
INFO:tensorflow:Step 13100 | Loss: 0.4347 | Spent: 13.4 secs | LR: 0.000766
INFO:tensorflow:Step 13200 | Loss: 0.4858 | Spent: 13.3 secs | LR: 0.000761
INFO:tensorflow:Step 13300 | Loss: 0.5426 | Spent: 13.4 secs | LR: 0.000755
INFO:tensorflow:Step 13400 | Loss: 0.4985 | Spent: 13.1 secs | LR: 0.000750
INFO:tensorflow:Step 13500 | Loss: 0.4189 | Spent: 13.5 secs | LR: 0.000744
INFO:tensorflow:Step 13600 | Loss: 0.4072 | Spent: 13.6 secs | LR: 0.000738
INFO:tensorflow:Step 13700 | Loss: 0.4061 | Spent: 13.3 secs | LR: 0.000733
INFO:tensorflow:Step 13800 | Loss: 0.3815 | Spent: 13.6 secs | LR: 0.000727
INFO:tensorflow:Step 13900 | Loss: 0.4230 | Spent: 13.5 secs | LR: 0.000722
INFO:tensorflow:Step 14000 | Loss: 0.3878 | Spent: 13.4 secs | LR: 0.000716
INFO:tensorflow:Step 14100 | Loss: 0.4960 | Spent: 13.4 secs | LR: 0.000710
INFO:tensorflow:Step 14200 | Loss: 0.4294 | Spent: 13.4 secs | LR: 0.000705
INFO:tensorflow:Step 14300 | Loss: 0.3981 | Spent: 13.3 secs | LR: 0.000699
INFO:tensorflow:Step 14400 | Loss: 0.5441 | Spent: 13.5 secs | LR: 0.000694
INFO:tensorflow:Step 14500 | Loss: 0.3771 | Spent: 13.7 secs | LR: 0.000688
INFO:tensorflow:Step 14600 | Loss: 0.4043 | Spent: 13.3 secs | LR: 0.000682
INFO:tensorflow:Step 14700 | Loss: 0.3632 | Spent: 13.3 secs | LR: 0.000677
INFO:tensorflow:Step 14800 | Loss: 0.3763 | Spent: 14.1 secs | LR: 0.000671
INFO:tensorflow:Step 14900 | Loss: 0.3623 | Spent: 13.3 secs | LR: 0.000666
INFO:tensorflow:Step 15000 | Loss: 0.4842 | Spent: 13.4 secs | LR: 0.000660
INFO:tensorflow:Step 15100 | Loss: 0.4045 | Spent: 13.5 secs | LR: 0.000654
INFO:tensorflow:Step 15200 | Loss: 0.3974 | Spent: 13.2 secs | LR: 0.000649
INFO:tensorflow:Step 15300 | Loss: 0.5256 | Spent: 13.4 secs | LR: 0.000643
INFO:tensorflow:Step 15400 | Loss: 0.3353 | Spent: 13.4 secs | LR: 0.000638
INFO:tensorflow:Step 15500 | Loss: 0.4033 | Spent: 13.2 secs | LR: 0.000632
INFO:tensorflow:Step 15600 | Loss: 0.3533 | Spent: 13.3 secs | LR: 0.000626
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.815
INFO:tensorflow:Best Accuracy: 0.815
Reading ../data/train.csv
INFO:tensorflow:Step 15700 | Loss: 0.3405 | Spent: 70.8 secs | LR: 0.000621
INFO:tensorflow:Step 15800 | Loss: 0.3657 | Spent: 13.5 secs | LR: 0.000615
INFO:tensorflow:Step 15900 | Loss: 0.3657 | Spent: 13.3 secs | LR: 0.000610
INFO:tensorflow:Step 16000 | Loss: 0.3798 | Spent: 13.4 secs | LR: 0.000604
INFO:tensorflow:Step 16100 | Loss: 0.3885 | Spent: 13.2 secs | LR: 0.000598
INFO:tensorflow:Step 16200 | Loss: 0.3941 | Spent: 13.3 secs | LR: 0.000593
INFO:tensorflow:Step 16300 | Loss: 0.4252 | Spent: 13.4 secs | LR: 0.000587
INFO:tensorflow:Step 16400 | Loss: 0.3667 | Spent: 13.3 secs | LR: 0.000582
INFO:tensorflow:Step 16500 | Loss: 0.5022 | Spent: 13.3 secs | LR: 0.000576
INFO:tensorflow:Step 16600 | Loss: 0.4208 | Spent: 13.5 secs | LR: 0.000570
INFO:tensorflow:Step 16700 | Loss: 0.4335 | Spent: 13.9 secs | LR: 0.000565
INFO:tensorflow:Step 16800 | Loss: 0.4016 | Spent: 13.3 secs | LR: 0.000559
INFO:tensorflow:Step 16900 | Loss: 0.3706 | Spent: 13.3 secs | LR: 0.000554
INFO:tensorflow:Step 17000 | Loss: 0.3900 | Spent: 13.3 secs | LR: 0.000548
INFO:tensorflow:Step 17100 | Loss: 0.3360 | Spent: 13.3 secs | LR: 0.000542
INFO:tensorflow:Step 17200 | Loss: 0.3588 | Spent: 13.4 secs | LR: 0.000537
INFO:tensorflow:Step 17300 | Loss: 0.3702 | Spent: 13.2 secs | LR: 0.000531
INFO:tensorflow:Step 17400 | Loss: 0.3495 | Spent: 13.2 secs | LR: 0.000526
INFO:tensorflow:Step 17500 | Loss: 0.4627 | Spent: 13.6 secs | LR: 0.000520
INFO:tensorflow:Step 17600 | Loss: 0.4254 | Spent: 13.7 secs | LR: 0.000514
INFO:tensorflow:Step 17700 | Loss: 0.4073 | Spent: 13.3 secs | LR: 0.000509
INFO:tensorflow:Step 17800 | Loss: 0.3379 | Spent: 13.5 secs | LR: 0.000503
INFO:tensorflow:Step 17900 | Loss: 0.3859 | Spent: 13.5 secs | LR: 0.000498
INFO:tensorflow:Step 18000 | Loss: 0.4907 | Spent: 13.5 secs | LR: 0.000492
INFO:tensorflow:Step 18100 | Loss: 0.4214 | Spent: 13.6 secs | LR: 0.000486
INFO:tensorflow:Step 18200 | Loss: 0.3315 | Spent: 13.6 secs | LR: 0.000481
INFO:tensorflow:Step 18300 | Loss: 0.3926 | Spent: 13.5 secs | LR: 0.000475
INFO:tensorflow:Step 18400 | Loss: 0.4392 | Spent: 13.9 secs | LR: 0.000470
INFO:tensorflow:Step 18500 | Loss: 0.3583 | Spent: 13.8 secs | LR: 0.000464
INFO:tensorflow:Step 18600 | Loss: 0.4828 | Spent: 13.5 secs | LR: 0.000458
INFO:tensorflow:Step 18700 | Loss: 0.5188 | Spent: 13.7 secs | LR: 0.000453
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.825
INFO:tensorflow:Best Accuracy: 0.825
Reading ../data/train.csv
INFO:tensorflow:Step 18800 | Loss: 0.3467 | Spent: 73.0 secs | LR: 0.000447
INFO:tensorflow:Step 18900 | Loss: 0.3773 | Spent: 13.9 secs | LR: 0.000442
INFO:tensorflow:Step 19000 | Loss: 0.3490 | Spent: 13.8 secs | LR: 0.000436
INFO:tensorflow:Step 19100 | Loss: 0.4679 | Spent: 13.5 secs | LR: 0.000430
INFO:tensorflow:Step 19200 | Loss: 0.4284 | Spent: 13.7 secs | LR: 0.000425
INFO:tensorflow:Step 19300 | Loss: 0.4467 | Spent: 13.9 secs | LR: 0.000419
INFO:tensorflow:Step 19400 | Loss: 0.3353 | Spent: 13.9 secs | LR: 0.000414
INFO:tensorflow:Step 19500 | Loss: 0.3938 | Spent: 13.8 secs | LR: 0.000408
INFO:tensorflow:Step 19600 | Loss: 0.3292 | Spent: 13.9 secs | LR: 0.000402
INFO:tensorflow:Step 19700 | Loss: 0.3797 | Spent: 13.9 secs | LR: 0.000397
INFO:tensorflow:Step 19800 | Loss: 0.4016 | Spent: 13.9 secs | LR: 0.000391
INFO:tensorflow:Step 19900 | Loss: 0.3290 | Spent: 14.0 secs | LR: 0.000386
INFO:tensorflow:Step 20000 | Loss: 0.3293 | Spent: 13.8 secs | LR: 0.000380
INFO:tensorflow:Step 20100 | Loss: 0.4392 | Spent: 13.9 secs | LR: 0.000374
INFO:tensorflow:Step 20200 | Loss: 0.3452 | Spent: 14.2 secs | LR: 0.000369
INFO:tensorflow:Step 20300 | Loss: 0.3816 | Spent: 13.8 secs | LR: 0.000363
INFO:tensorflow:Step 20400 | Loss: 0.3929 | Spent: 13.7 secs | LR: 0.000358
INFO:tensorflow:Step 20500 | Loss: 0.3970 | Spent: 14.0 secs | LR: 0.000352
INFO:tensorflow:Step 20600 | Loss: 0.3795 | Spent: 13.7 secs | LR: 0.000346
INFO:tensorflow:Step 20700 | Loss: 0.3937 | Spent: 13.7 secs | LR: 0.000341
INFO:tensorflow:Step 20800 | Loss: 0.3507 | Spent: 14.2 secs | LR: 0.000335
INFO:tensorflow:Step 20900 | Loss: 0.4033 | Spent: 13.5 secs | LR: 0.000330
INFO:tensorflow:Step 21000 | Loss: 0.3500 | Spent: 13.5 secs | LR: 0.000324
INFO:tensorflow:Step 21100 | Loss: 0.3505 | Spent: 13.5 secs | LR: 0.000318
INFO:tensorflow:Step 21200 | Loss: 0.3827 | Spent: 13.3 secs | LR: 0.000313
INFO:tensorflow:Step 21300 | Loss: 0.3568 | Spent: 13.5 secs | LR: 0.000307
INFO:tensorflow:Step 21400 | Loss: 0.3566 | Spent: 13.5 secs | LR: 0.000302
INFO:tensorflow:Step 21500 | Loss: 0.3776 | Spent: 13.4 secs | LR: 0.000296
INFO:tensorflow:Step 21600 | Loss: 0.3779 | Spent: 13.4 secs | LR: 0.000290
INFO:tensorflow:Step 21700 | Loss: 0.3363 | Spent: 13.3 secs | LR: 0.000285
INFO:tensorflow:Step 21800 | Loss: 0.3398 | Spent: 13.3 secs | LR: 0.000279
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.816
INFO:tensorflow:Best Accuracy: 0.825
Reading ../data/train.csv
INFO:tensorflow:Step 21900 | Loss: 0.3308 | Spent: 71.0 secs | LR: 0.000274
INFO:tensorflow:Step 22000 | Loss: 0.3946 | Spent: 13.4 secs | LR: 0.000268
INFO:tensorflow:Step 22100 | Loss: 0.4145 | Spent: 13.4 secs | LR: 0.000262
INFO:tensorflow:Step 22200 | Loss: 0.3286 | Spent: 13.3 secs | LR: 0.000257
INFO:tensorflow:Step 22300 | Loss: 0.3477 | Spent: 13.2 secs | LR: 0.000251
INFO:tensorflow:Step 22400 | Loss: 0.3791 | Spent: 13.2 secs | LR: 0.000246
INFO:tensorflow:Step 22500 | Loss: 0.3973 | Spent: 13.3 secs | LR: 0.000240
INFO:tensorflow:Step 22600 | Loss: 0.4020 | Spent: 13.3 secs | LR: 0.000234
INFO:tensorflow:Step 22700 | Loss: 0.3614 | Spent: 13.9 secs | LR: 0.000229
INFO:tensorflow:Step 22800 | Loss: 0.3773 | Spent: 13.6 secs | LR: 0.000223
INFO:tensorflow:Step 22900 | Loss: 0.3274 | Spent: 13.4 secs | LR: 0.000218
INFO:tensorflow:Step 23000 | Loss: 0.3556 | Spent: 13.3 secs | LR: 0.000212
INFO:tensorflow:Step 23100 | Loss: 0.3346 | Spent: 13.4 secs | LR: 0.000206
INFO:tensorflow:Step 23200 | Loss: 0.3289 | Spent: 13.5 secs | LR: 0.000201
INFO:tensorflow:Step 23300 | Loss: 0.3682 | Spent: 13.4 secs | LR: 0.000195
INFO:tensorflow:Step 23400 | Loss: 0.3296 | Spent: 13.5 secs | LR: 0.000190
INFO:tensorflow:Step 23500 | Loss: 0.3721 | Spent: 13.2 secs | LR: 0.000184
INFO:tensorflow:Step 23600 | Loss: 0.3419 | Spent: 13.3 secs | LR: 0.000178
INFO:tensorflow:Step 23700 | Loss: 0.3259 | Spent: 13.3 secs | LR: 0.000173
INFO:tensorflow:Step 23800 | Loss: 0.3791 | Spent: 13.5 secs | LR: 0.000167
INFO:tensorflow:Step 23900 | Loss: 0.4133 | Spent: 13.4 secs | LR: 0.000162
INFO:tensorflow:Step 24000 | Loss: 0.3270 | Spent: 13.4 secs | LR: 0.000156
INFO:tensorflow:Step 24100 | Loss: 0.3759 | Spent: 13.4 secs | LR: 0.000150
INFO:tensorflow:Step 24200 | Loss: 0.3733 | Spent: 13.2 secs | LR: 0.000145
INFO:tensorflow:Step 24300 | Loss: 0.3676 | Spent: 13.5 secs | LR: 0.000139
INFO:tensorflow:Step 24400 | Loss: 0.3446 | Spent: 13.2 secs | LR: 0.000134
INFO:tensorflow:Step 24500 | Loss: 0.3793 | Spent: 13.4 secs | LR: 0.000128
INFO:tensorflow:Step 24600 | Loss: 0.3566 | Spent: 13.4 secs | LR: 0.000122
INFO:tensorflow:Step 24700 | Loss: 0.3272 | Spent: 13.5 secs | LR: 0.000117
INFO:tensorflow:Step 24800 | Loss: 0.4246 | Spent: 13.3 secs | LR: 0.000111
INFO:tensorflow:Step 24900 | Loss: 0.4199 | Spent: 13.6 secs | LR: 0.000106
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.817
INFO:tensorflow:Best Accuracy: 0.825
Reading ../data/train.csv
INFO:tensorflow:Step 25000 | Loss: 0.3952 | Spent: 72.1 secs | LR: 0.000100
INFO:tensorflow:Step 25100 | Loss: 0.3627 | Spent: 13.6 secs | LR: 0.000103
INFO:tensorflow:Step 25200 | Loss: 0.3261 | Spent: 14.0 secs | LR: 0.000106
INFO:tensorflow:Step 25300 | Loss: 0.3263 | Spent: 13.7 secs | LR: 0.000108
INFO:tensorflow:Step 25400 | Loss: 0.3832 | Spent: 13.7 secs | LR: 0.000111
INFO:tensorflow:Step 25500 | Loss: 0.3361 | Spent: 13.8 secs | LR: 0.000114
INFO:tensorflow:Step 25600 | Loss: 0.3525 | Spent: 14.0 secs | LR: 0.000117
INFO:tensorflow:Step 25700 | Loss: 0.3259 | Spent: 13.6 secs | LR: 0.000120
INFO:tensorflow:Step 25800 | Loss: 0.3259 | Spent: 13.8 secs | LR: 0.000122
INFO:tensorflow:Step 25900 | Loss: 0.3262 | Spent: 13.6 secs | LR: 0.000125
INFO:tensorflow:Step 26000 | Loss: 0.3890 | Spent: 13.8 secs | LR: 0.000128
INFO:tensorflow:Step 26100 | Loss: 0.4843 | Spent: 13.7 secs | LR: 0.000131
INFO:tensorflow:Step 26200 | Loss: 0.3258 | Spent: 13.6 secs | LR: 0.000134
INFO:tensorflow:Step 26300 | Loss: 0.3266 | Spent: 13.4 secs | LR: 0.000136
INFO:tensorflow:Step 26400 | Loss: 0.3258 | Spent: 13.6 secs | LR: 0.000139
INFO:tensorflow:Step 26500 | Loss: 0.3834 | Spent: 13.3 secs | LR: 0.000142
INFO:tensorflow:Step 26600 | Loss: 0.3957 | Spent: 13.3 secs | LR: 0.000145
INFO:tensorflow:Step 26700 | Loss: 0.3456 | Spent: 13.4 secs | LR: 0.000148
INFO:tensorflow:Step 26800 | Loss: 0.3281 | Spent: 13.6 secs | LR: 0.000150
INFO:tensorflow:Step 26900 | Loss: 0.3840 | Spent: 13.6 secs | LR: 0.000153
INFO:tensorflow:Step 27000 | Loss: 0.3392 | Spent: 13.5 secs | LR: 0.000156
INFO:tensorflow:Step 27100 | Loss: 0.3264 | Spent: 13.5 secs | LR: 0.000159
INFO:tensorflow:Step 27200 | Loss: 0.3852 | Spent: 13.3 secs | LR: 0.000162
INFO:tensorflow:Step 27300 | Loss: 0.3308 | Spent: 13.4 secs | LR: 0.000164
INFO:tensorflow:Step 27400 | Loss: 0.4180 | Spent: 13.3 secs | LR: 0.000167
INFO:tensorflow:Step 27500 | Loss: 0.3946 | Spent: 13.3 secs | LR: 0.000170
INFO:tensorflow:Step 27600 | Loss: 0.3264 | Spent: 13.5 secs | LR: 0.000173
INFO:tensorflow:Step 27700 | Loss: 0.3260 | Spent: 13.3 secs | LR: 0.000176
INFO:tensorflow:Step 27800 | Loss: 0.3807 | Spent: 13.3 secs | LR: 0.000178
INFO:tensorflow:Step 27900 | Loss: 0.4346 | Spent: 13.5 secs | LR: 0.000181
INFO:tensorflow:Step 28000 | Loss: 0.3304 | Spent: 13.3 secs | LR: 0.000184
INFO:tensorflow:Step 28100 | Loss: 0.3264 | Spent: 13.3 secs | LR: 0.000187
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.817
INFO:tensorflow:Best Accuracy: 0.825
Reading ../data/train.csv
INFO:tensorflow:Step 28200 | Loss: 0.3260 | Spent: 71.0 secs | LR: 0.000190
INFO:tensorflow:Step 28300 | Loss: 0.3392 | Spent: 13.6 secs | LR: 0.000192
INFO:tensorflow:Step 28400 | Loss: 0.3261 | Spent: 13.7 secs | LR: 0.000195
INFO:tensorflow:Step 28500 | Loss: 0.3270 | Spent: 13.6 secs | LR: 0.000198
INFO:tensorflow:Step 28600 | Loss: 0.3852 | Spent: 13.6 secs | LR: 0.000201
INFO:tensorflow:Step 28700 | Loss: 0.3436 | Spent: 14.1 secs | LR: 0.000204
INFO:tensorflow:Step 28800 | Loss: 0.3279 | Spent: 14.0 secs | LR: 0.000206
INFO:tensorflow:Step 28900 | Loss: 0.3848 | Spent: 13.8 secs | LR: 0.000209
INFO:tensorflow:Step 29000 | Loss: 0.3666 | Spent: 13.7 secs | LR: 0.000212
INFO:tensorflow:Step 29100 | Loss: 0.3908 | Spent: 13.7 secs | LR: 0.000215
INFO:tensorflow:Step 29200 | Loss: 0.3505 | Spent: 13.9 secs | LR: 0.000218
INFO:tensorflow:Step 29300 | Loss: 0.3348 | Spent: 13.8 secs | LR: 0.000220
INFO:tensorflow:Step 29400 | Loss: 0.3277 | Spent: 13.7 secs | LR: 0.000223
INFO:tensorflow:Step 29500 | Loss: 0.3296 | Spent: 13.9 secs | LR: 0.000226
INFO:tensorflow:Step 29600 | Loss: 0.3830 | Spent: 13.9 secs | LR: 0.000229
INFO:tensorflow:Step 29700 | Loss: 0.3265 | Spent: 14.1 secs | LR: 0.000232
INFO:tensorflow:Step 29800 | Loss: 0.3676 | Spent: 13.8 secs | LR: 0.000234
INFO:tensorflow:Step 29900 | Loss: 0.3263 | Spent: 13.7 secs | LR: 0.000237
INFO:tensorflow:Step 30000 | Loss: 0.3584 | Spent: 13.8 secs | LR: 0.000240
INFO:tensorflow:Step 30100 | Loss: 0.4248 | Spent: 13.9 secs | LR: 0.000243
INFO:tensorflow:Step 30200 | Loss: 0.3861 | Spent: 13.8 secs | LR: 0.000246
INFO:tensorflow:Step 30300 | Loss: 0.3617 | Spent: 13.9 secs | LR: 0.000248
INFO:tensorflow:Step 30400 | Loss: 0.4234 | Spent: 13.7 secs | LR: 0.000251
INFO:tensorflow:Step 30500 | Loss: 0.4451 | Spent: 13.8 secs | LR: 0.000254
INFO:tensorflow:Step 30600 | Loss: 0.3264 | Spent: 13.8 secs | LR: 0.000257
INFO:tensorflow:Step 30700 | Loss: 0.3271 | Spent: 13.9 secs | LR: 0.000260
INFO:tensorflow:Step 30800 | Loss: 0.3521 | Spent: 13.8 secs | LR: 0.000262
INFO:tensorflow:Step 30900 | Loss: 0.3576 | Spent: 14.1 secs | LR: 0.000265
INFO:tensorflow:Step 31000 | Loss: 0.3349 | Spent: 14.4 secs | LR: 0.000268
INFO:tensorflow:Step 31100 | Loss: 0.3848 | Spent: 13.7 secs | LR: 0.000271
INFO:tensorflow:Step 31200 | Loss: 0.3396 | Spent: 13.9 secs | LR: 0.000274
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.817
INFO:tensorflow:Best Accuracy: 0.825
Reading ../data/train.csv
INFO:tensorflow:Step 31300 | Loss: 0.3298 | Spent: 71.5 secs | LR: 0.000276
INFO:tensorflow:Step 31400 | Loss: 0.3608 | Spent: 13.6 secs | LR: 0.000279
INFO:tensorflow:Step 31500 | Loss: 0.3269 | Spent: 13.7 secs | LR: 0.000282
INFO:tensorflow:Step 31600 | Loss: 0.3269 | Spent: 13.2 secs | LR: 0.000285
INFO:tensorflow:Step 31700 | Loss: 0.4072 | Spent: 13.3 secs | LR: 0.000288
INFO:tensorflow:Step 31800 | Loss: 0.3256 | Spent: 13.4 secs | LR: 0.000290
INFO:tensorflow:Step 31900 | Loss: 0.3628 | Spent: 13.3 secs | LR: 0.000293
INFO:tensorflow:Step 32000 | Loss: 0.3811 | Spent: 13.5 secs | LR: 0.000296
INFO:tensorflow:Step 32100 | Loss: 0.3283 | Spent: 13.5 secs | LR: 0.000299
INFO:tensorflow:Step 32200 | Loss: 0.3381 | Spent: 13.5 secs | LR: 0.000302
INFO:tensorflow:Step 32300 | Loss: 0.3358 | Spent: 13.5 secs | LR: 0.000304
INFO:tensorflow:Step 32400 | Loss: 0.4331 | Spent: 13.5 secs | LR: 0.000307
INFO:tensorflow:Step 32500 | Loss: 0.3766 | Spent: 13.3 secs | LR: 0.000310
INFO:tensorflow:Step 32600 | Loss: 0.3578 | Spent: 13.3 secs | LR: 0.000313
INFO:tensorflow:Step 32700 | Loss: 0.3415 | Spent: 13.4 secs | LR: 0.000316
INFO:tensorflow:Step 32800 | Loss: 0.3278 | Spent: 13.6 secs | LR: 0.000318
INFO:tensorflow:Step 32900 | Loss: 0.3765 | Spent: 13.5 secs | LR: 0.000321
INFO:tensorflow:Step 33000 | Loss: 0.3610 | Spent: 13.3 secs | LR: 0.000324
INFO:tensorflow:Step 33100 | Loss: 0.3769 | Spent: 13.4 secs | LR: 0.000327
INFO:tensorflow:Step 33200 | Loss: 0.3522 | Spent: 13.5 secs | LR: 0.000330
INFO:tensorflow:Step 33300 | Loss: 0.4214 | Spent: 13.5 secs | LR: 0.000332
INFO:tensorflow:Step 33400 | Loss: 0.3343 | Spent: 13.3 secs | LR: 0.000335
INFO:tensorflow:Step 33500 | Loss: 0.3854 | Spent: 13.3 secs | LR: 0.000338
INFO:tensorflow:Step 33600 | Loss: 0.3264 | Spent: 13.4 secs | LR: 0.000341
INFO:tensorflow:Step 33700 | Loss: 0.4389 | Spent: 13.7 secs | LR: 0.000344
INFO:tensorflow:Step 33800 | Loss: 0.3943 | Spent: 13.3 secs | LR: 0.000346
INFO:tensorflow:Step 33900 | Loss: 0.3355 | Spent: 13.4 secs | LR: 0.000349
INFO:tensorflow:Step 34000 | Loss: 0.3260 | Spent: 13.3 secs | LR: 0.000352
INFO:tensorflow:Step 34100 | Loss: 0.3318 | Spent: 13.4 secs | LR: 0.000355
INFO:tensorflow:Step 34200 | Loss: 0.3617 | Spent: 13.4 secs | LR: 0.000358
INFO:tensorflow:Step 34300 | Loss: 0.3263 | Spent: 13.2 secs | LR: 0.000360
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.817
INFO:tensorflow:Best Accuracy: 0.825
Reading ../data/train.csv
INFO:tensorflow:Step 34400 | Loss: 0.4342 | Spent: 70.5 secs | LR: 0.000363
INFO:tensorflow:Step 34500 | Loss: 0.3592 | Spent: 13.5 secs | LR: 0.000366
INFO:tensorflow:Step 34600 | Loss: 0.3781 | Spent: 13.5 secs | LR: 0.000369
INFO:tensorflow:Step 34700 | Loss: 0.4260 | Spent: 13.7 secs | LR: 0.000372
INFO:tensorflow:Step 34800 | Loss: 0.3951 | Spent: 13.5 secs | LR: 0.000374
INFO:tensorflow:Step 34900 | Loss: 0.3647 | Spent: 13.5 secs | LR: 0.000377
INFO:tensorflow:Step 35000 | Loss: 0.3802 | Spent: 13.4 secs | LR: 0.000380
INFO:tensorflow:Step 35100 | Loss: 0.3265 | Spent: 13.4 secs | LR: 0.000383
INFO:tensorflow:Step 35200 | Loss: 0.3258 | Spent: 13.3 secs | LR: 0.000386
INFO:tensorflow:Step 35300 | Loss: 0.3262 | Spent: 13.2 secs | LR: 0.000388
INFO:tensorflow:Step 35400 | Loss: 0.3788 | Spent: 13.6 secs | LR: 0.000391
INFO:tensorflow:Step 35500 | Loss: 0.4331 | Spent: 13.5 secs | LR: 0.000394
INFO:tensorflow:Step 35600 | Loss: 0.3257 | Spent: 13.4 secs | LR: 0.000397
INFO:tensorflow:Step 35700 | Loss: 0.3753 | Spent: 13.4 secs | LR: 0.000400
INFO:tensorflow:Step 35800 | Loss: 0.3257 | Spent: 13.5 secs | LR: 0.000402
INFO:tensorflow:Step 35900 | Loss: 0.3339 | Spent: 13.3 secs | LR: 0.000405
INFO:tensorflow:Step 36000 | Loss: 0.3326 | Spent: 13.2 secs | LR: 0.000408
INFO:tensorflow:Step 36100 | Loss: 0.3427 | Spent: 13.2 secs | LR: 0.000411
INFO:tensorflow:Step 36200 | Loss: 0.3260 | Spent: 13.2 secs | LR: 0.000414
INFO:tensorflow:Step 36300 | Loss: 0.3263 | Spent: 13.4 secs | LR: 0.000416
INFO:tensorflow:Step 36400 | Loss: 0.3730 | Spent: 13.3 secs | LR: 0.000419
INFO:tensorflow:Step 36500 | Loss: 0.3845 | Spent: 13.2 secs | LR: 0.000422
INFO:tensorflow:Step 36600 | Loss: 0.3266 | Spent: 13.3 secs | LR: 0.000425
INFO:tensorflow:Step 36700 | Loss: 0.3271 | Spent: 13.3 secs | LR: 0.000428
INFO:tensorflow:Step 36800 | Loss: 0.3266 | Spent: 13.2 secs | LR: 0.000430
INFO:tensorflow:Step 36900 | Loss: 0.3724 | Spent: 13.2 secs | LR: 0.000433
INFO:tensorflow:Step 37000 | Loss: 0.3386 | Spent: 13.4 secs | LR: 0.000436
INFO:tensorflow:Step 37100 | Loss: 0.3766 | Spent: 13.6 secs | LR: 0.000439
INFO:tensorflow:Step 37200 | Loss: 0.3262 | Spent: 13.5 secs | LR: 0.000442
INFO:tensorflow:Step 37300 | Loss: 0.3706 | Spent: 13.2 secs | LR: 0.000444
INFO:tensorflow:Step 37400 | Loss: 0.3272 | Spent: 13.3 secs | LR: 0.000447
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.806
INFO:tensorflow:Best Accuracy: 0.825
Reading ../data/train.csv
INFO:tensorflow:Step 37500 | Loss: 0.3292 | Spent: 70.7 secs | LR: 0.000450
INFO:tensorflow:Step 37600 | Loss: 0.3772 | Spent: 13.3 secs | LR: 0.000447
INFO:tensorflow:Step 37700 | Loss: 0.4768 | Spent: 13.3 secs | LR: 0.000444
INFO:tensorflow:Step 37800 | Loss: 0.3622 | Spent: 13.5 secs | LR: 0.000442
INFO:tensorflow:Step 37900 | Loss: 0.3489 | Spent: 13.2 secs | LR: 0.000439
INFO:tensorflow:Step 38000 | Loss: 0.3430 | Spent: 13.3 secs | LR: 0.000436
INFO:tensorflow:Step 38100 | Loss: 0.3262 | Spent: 13.4 secs | LR: 0.000433
INFO:tensorflow:Step 38200 | Loss: 0.3261 | Spent: 13.2 secs | LR: 0.000430
INFO:tensorflow:Step 38300 | Loss: 0.3391 | Spent: 13.2 secs | LR: 0.000428
INFO:tensorflow:Step 38400 | Loss: 0.3294 | Spent: 13.5 secs | LR: 0.000425
INFO:tensorflow:Step 38500 | Loss: 0.3870 | Spent: 13.3 secs | LR: 0.000422
INFO:tensorflow:Step 38600 | Loss: 0.3422 | Spent: 13.3 secs | LR: 0.000419
INFO:tensorflow:Step 38700 | Loss: 0.4850 | Spent: 13.4 secs | LR: 0.000416
INFO:tensorflow:Step 38800 | Loss: 0.3778 | Spent: 13.2 secs | LR: 0.000414
INFO:tensorflow:Step 38900 | Loss: 0.3265 | Spent: 13.5 secs | LR: 0.000411
INFO:tensorflow:Step 39000 | Loss: 0.3554 | Spent: 13.9 secs | LR: 0.000408
INFO:tensorflow:Step 39100 | Loss: 0.3726 | Spent: 13.1 secs | LR: 0.000405
INFO:tensorflow:Step 39200 | Loss: 0.3259 | Spent: 13.2 secs | LR: 0.000402
INFO:tensorflow:Step 39300 | Loss: 0.3261 | Spent: 13.4 secs | LR: 0.000400
INFO:tensorflow:Step 39400 | Loss: 0.4427 | Spent: 13.3 secs | LR: 0.000397
INFO:tensorflow:Step 39500 | Loss: 0.3847 | Spent: 13.2 secs | LR: 0.000394
INFO:tensorflow:Step 39600 | Loss: 0.3273 | Spent: 13.5 secs | LR: 0.000391
INFO:tensorflow:Step 39700 | Loss: 0.3758 | Spent: 13.3 secs | LR: 0.000388
INFO:tensorflow:Step 39800 | Loss: 0.3263 | Spent: 13.1 secs | LR: 0.000386
INFO:tensorflow:Step 39900 | Loss: 0.4478 | Spent: 13.3 secs | LR: 0.000383
INFO:tensorflow:Step 40000 | Loss: 0.3954 | Spent: 13.3 secs | LR: 0.000380
INFO:tensorflow:Step 40100 | Loss: 0.3303 | Spent: 13.3 secs | LR: 0.000377
INFO:tensorflow:Step 40200 | Loss: 0.4395 | Spent: 13.6 secs | LR: 0.000374
INFO:tensorflow:Step 40300 | Loss: 0.3515 | Spent: 13.2 secs | LR: 0.000372
INFO:tensorflow:Step 40400 | Loss: 0.3319 | Spent: 13.2 secs | LR: 0.000369
INFO:tensorflow:Step 40500 | Loss: 0.3719 | Spent: 13.4 secs | LR: 0.000366
INFO:tensorflow:Step 40600 | Loss: 0.3333 | Spent: 13.3 secs | LR: 0.000363
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.813
INFO:tensorflow:Best Accuracy: 0.825
Reading ../data/train.csv
INFO:tensorflow:Step 40700 | Loss: 0.3264 | Spent: 70.3 secs | LR: 0.000360
INFO:tensorflow:Step 40800 | Loss: 0.3257 | Spent: 13.5 secs | LR: 0.000358
INFO:tensorflow:Step 40900 | Loss: 0.3822 | Spent: 13.5 secs | LR: 0.000355
INFO:tensorflow:Step 41000 | Loss: 0.3267 | Spent: 13.4 secs | LR: 0.000352
INFO:tensorflow:Step 41100 | Loss: 0.3678 | Spent: 13.4 secs | LR: 0.000349
INFO:tensorflow:Step 41200 | Loss: 0.3920 | Spent: 13.2 secs | LR: 0.000346
INFO:tensorflow:Step 41300 | Loss: 0.3634 | Spent: 13.2 secs | LR: 0.000344
INFO:tensorflow:Step 41400 | Loss: 0.3273 | Spent: 13.3 secs | LR: 0.000341
INFO:tensorflow:Step 41500 | Loss: 0.3814 | Spent: 13.3 secs | LR: 0.000338
INFO:tensorflow:Step 41600 | Loss: 0.3258 | Spent: 13.5 secs | LR: 0.000335
INFO:tensorflow:Step 41700 | Loss: 0.3772 | Spent: 13.3 secs | LR: 0.000332
INFO:tensorflow:Step 41800 | Loss: 0.3432 | Spent: 13.2 secs | LR: 0.000330
INFO:tensorflow:Step 41900 | Loss: 0.3384 | Spent: 13.2 secs | LR: 0.000327
INFO:tensorflow:Step 42000 | Loss: 0.3259 | Spent: 13.3 secs | LR: 0.000324
INFO:tensorflow:Step 42100 | Loss: 0.3599 | Spent: 13.3 secs | LR: 0.000321
INFO:tensorflow:Step 42200 | Loss: 0.3266 | Spent: 13.3 secs | LR: 0.000318
INFO:tensorflow:Step 42300 | Loss: 0.3661 | Spent: 13.3 secs | LR: 0.000316
INFO:tensorflow:Step 42400 | Loss: 0.3257 | Spent: 13.2 secs | LR: 0.000313
INFO:tensorflow:Step 42500 | Loss: 0.3257 | Spent: 13.3 secs | LR: 0.000310
INFO:tensorflow:Step 42600 | Loss: 0.3265 | Spent: 13.3 secs | LR: 0.000307
INFO:tensorflow:Step 42700 | Loss: 0.3312 | Spent: 13.1 secs | LR: 0.000304
INFO:tensorflow:Step 42800 | Loss: 0.3259 | Spent: 13.3 secs | LR: 0.000302
INFO:tensorflow:Step 42900 | Loss: 0.3458 | Spent: 13.4 secs | LR: 0.000299
INFO:tensorflow:Step 43000 | Loss: 0.3524 | Spent: 13.2 secs | LR: 0.000296
INFO:tensorflow:Step 43100 | Loss: 0.3259 | Spent: 13.2 secs | LR: 0.000293
INFO:tensorflow:Step 43200 | Loss: 0.3609 | Spent: 13.7 secs | LR: 0.000290
INFO:tensorflow:Step 43300 | Loss: 0.3264 | Spent: 13.2 secs | LR: 0.000288
INFO:tensorflow:Step 43400 | Loss: 0.3847 | Spent: 13.2 secs | LR: 0.000285
INFO:tensorflow:Step 43500 | Loss: 0.3257 | Spent: 13.1 secs | LR: 0.000282
INFO:tensorflow:Step 43600 | Loss: 0.3699 | Spent: 13.1 secs | LR: 0.000279
INFO:tensorflow:Step 43700 | Loss: 0.3306 | Spent: 13.2 secs | LR: 0.000276
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.809
INFO:tensorflow:Best Accuracy: 0.825
Reading ../data/train.csv
INFO:tensorflow:Step 43800 | Loss: 0.3818 | Spent: 70.3 secs | LR: 0.000274
INFO:tensorflow:Step 43900 | Loss: 0.3257 | Spent: 13.2 secs | LR: 0.000271
INFO:tensorflow:Step 44000 | Loss: 0.3523 | Spent: 13.2 secs | LR: 0.000268
INFO:tensorflow:Step 44100 | Loss: 0.3258 | Spent: 13.5 secs | LR: 0.000265
INFO:tensorflow:Step 44200 | Loss: 0.3354 | Spent: 13.3 secs | LR: 0.000262
INFO:tensorflow:Step 44300 | Loss: 0.4114 | Spent: 13.2 secs | LR: 0.000260
INFO:tensorflow:Step 44400 | Loss: 0.3476 | Spent: 13.2 secs | LR: 0.000257
INFO:tensorflow:Step 44500 | Loss: 0.3495 | Spent: 13.3 secs | LR: 0.000254
INFO:tensorflow:Step 44600 | Loss: 0.3266 | Spent: 13.3 secs | LR: 0.000251
INFO:tensorflow:Step 44700 | Loss: 0.3255 | Spent: 13.4 secs | LR: 0.000248
INFO:tensorflow:Step 44800 | Loss: 0.3257 | Spent: 13.2 secs | LR: 0.000246
INFO:tensorflow:Step 44900 | Loss: 0.4175 | Spent: 13.2 secs | LR: 0.000243
INFO:tensorflow:Step 45000 | Loss: 0.3331 | Spent: 13.4 secs | LR: 0.000240
INFO:tensorflow:Step 45100 | Loss: 0.3256 | Spent: 13.8 secs | LR: 0.000237
INFO:tensorflow:Step 45200 | Loss: 0.3259 | Spent: 13.2 secs | LR: 0.000234
INFO:tensorflow:Step 45300 | Loss: 0.3255 | Spent: 13.2 secs | LR: 0.000232
INFO:tensorflow:Step 45400 | Loss: 0.3601 | Spent: 13.3 secs | LR: 0.000229
INFO:tensorflow:Step 45500 | Loss: 0.3257 | Spent: 13.3 secs | LR: 0.000226
INFO:tensorflow:Step 45600 | Loss: 0.3258 | Spent: 13.3 secs | LR: 0.000223
INFO:tensorflow:Step 45700 | Loss: 0.3538 | Spent: 13.2 secs | LR: 0.000220
INFO:tensorflow:Step 45800 | Loss: 0.3900 | Spent: 13.4 secs | LR: 0.000218
INFO:tensorflow:Step 45900 | Loss: 0.3258 | Spent: 13.3 secs | LR: 0.000215
INFO:tensorflow:Step 46000 | Loss: 0.3270 | Spent: 13.4 secs | LR: 0.000212
INFO:tensorflow:Step 46100 | Loss: 0.3274 | Spent: 13.2 secs | LR: 0.000209
INFO:tensorflow:Step 46200 | Loss: 0.3255 | Spent: 13.3 secs | LR: 0.000206
INFO:tensorflow:Step 46300 | Loss: 0.4366 | Spent: 13.3 secs | LR: 0.000204
INFO:tensorflow:Step 46400 | Loss: 0.3426 | Spent: 13.3 secs | LR: 0.000201
INFO:tensorflow:Step 46500 | Loss: 0.3566 | Spent: 13.3 secs | LR: 0.000198
INFO:tensorflow:Step 46600 | Loss: 0.3261 | Spent: 13.3 secs | LR: 0.000195
INFO:tensorflow:Step 46700 | Loss: 0.3255 | Spent: 13.1 secs | LR: 0.000192
INFO:tensorflow:Step 46800 | Loss: 0.4373 | Spent: 13.4 secs | LR: 0.000190
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.815
INFO:tensorflow:Best Accuracy: 0.825
Reading ../data/train.csv
INFO:tensorflow:Step 46900 | Loss: 0.3273 | Spent: 70.3 secs | LR: 0.000187
INFO:tensorflow:Step 47000 | Loss: 0.3256 | Spent: 13.6 secs | LR: 0.000184
INFO:tensorflow:Step 47100 | Loss: 0.3258 | Spent: 13.4 secs | LR: 0.000181
INFO:tensorflow:Step 47200 | Loss: 0.3257 | Spent: 13.2 secs | LR: 0.000178
INFO:tensorflow:Step 47300 | Loss: 0.3769 | Spent: 13.2 secs | LR: 0.000176
INFO:tensorflow:Step 47400 | Loss: 0.3783 | Spent: 13.3 secs | LR: 0.000173
INFO:tensorflow:Step 47500 | Loss: 0.3257 | Spent: 13.1 secs | LR: 0.000170
INFO:tensorflow:Step 47600 | Loss: 0.3259 | Spent: 13.4 secs | LR: 0.000167
INFO:tensorflow:Step 47700 | Loss: 0.3263 | Spent: 13.3 secs | LR: 0.000164
INFO:tensorflow:Step 47800 | Loss: 0.3792 | Spent: 13.2 secs | LR: 0.000162
INFO:tensorflow:Step 47900 | Loss: 0.3258 | Spent: 13.1 secs | LR: 0.000159
INFO:tensorflow:Step 48000 | Loss: 0.3254 | Spent: 13.4 secs | LR: 0.000156
INFO:tensorflow:Step 48100 | Loss: 0.3312 | Spent: 13.2 secs | LR: 0.000153
INFO:tensorflow:Step 48200 | Loss: 0.3379 | Spent: 13.1 secs | LR: 0.000150
INFO:tensorflow:Step 48300 | Loss: 0.3257 | Spent: 13.3 secs | LR: 0.000148
INFO:tensorflow:Step 48400 | Loss: 0.3257 | Spent: 13.1 secs | LR: 0.000145
INFO:tensorflow:Step 48500 | Loss: 0.3255 | Spent: 13.1 secs | LR: 0.000142
INFO:tensorflow:Step 48600 | Loss: 0.3256 | Spent: 13.5 secs | LR: 0.000139
INFO:tensorflow:Step 48700 | Loss: 0.3258 | Spent: 13.1 secs | LR: 0.000136
INFO:tensorflow:Step 48800 | Loss: 0.3269 | Spent: 13.0 secs | LR: 0.000134
INFO:tensorflow:Step 48900 | Loss: 0.4278 | Spent: 13.2 secs | LR: 0.000131
INFO:tensorflow:Step 49000 | Loss: 0.3255 | Spent: 13.3 secs | LR: 0.000128
INFO:tensorflow:Step 49100 | Loss: 0.3809 | Spent: 13.1 secs | LR: 0.000125
INFO:tensorflow:Step 49200 | Loss: 0.3255 | Spent: 13.5 secs | LR: 0.000122
INFO:tensorflow:Step 49300 | Loss: 0.3258 | Spent: 13.3 secs | LR: 0.000120
INFO:tensorflow:Step 49400 | Loss: 0.3704 | Spent: 13.5 secs | LR: 0.000117
INFO:tensorflow:Step 49500 | Loss: 0.3256 | Spent: 13.5 secs | LR: 0.000114
INFO:tensorflow:Step 49600 | Loss: 0.3641 | Spent: 13.2 secs | LR: 0.000111
INFO:tensorflow:Step 49700 | Loss: 0.3577 | Spent: 13.0 secs | LR: 0.000108
INFO:tensorflow:Step 49800 | Loss: 0.3259 | Spent: 13.3 secs | LR: 0.000106
INFO:tensorflow:Step 49900 | Loss: 0.3293 | Spent: 13.3 secs | LR: 0.000103
Reading ../data/test.csv
INFO:tensorflow:Evaluation: Testing Accuracy: 0.812
INFO:tensorflow:Best Accuracy: 0.825
10 times not improve the best result, therefore stop training