def train(self, session, data): # data separate self.left = data_split(X=data[0], train_rate=0.8) self.right = data_split(X=data[1], train_rate=0.8) self.label = data_split(X=data[2], train_rate=0.8) print('[Step2 Data] Train samples:{0}, valid samples:{1}'.format( len(self.left[0]), len(self.left[1]))) # train for iters in range(self.max_iterations): batch_x_left = get_next_batch(self.left[0], None, iters, self.batch_size) batch_x_right = get_next_batch(self.right[0], None, iters, self.batch_size) batch_y = get_next_batch(self.label[0], None, iters, self.batch_size) loss, _ = session.run([self.loss_func, self.optimizer], feed_dict={ self.XL: batch_x_left, self.XR: batch_x_right, self.Y: batch_y }) if iters % self.display_iters == 0: print('[Step2 Train] RegNet Iters:{0}, loss:{1}'.format( iters, loss)) if iters % self.test_iters == 0: self.val_internal(session)
def val_internal(self, session): max_batches = len(self.data[2]) // self.test_batch rights = 0.0 for iters in range(max_batches): batch_x, batch_y = get_next_batch(self.data[2], self.data[3], iters, self.test_batch) sums = session.run(self.correct,feed_dict={self.X:batch_x,self.Y:batch_y}) rights += sums print '[Step1 Valid] EyeNet val accuracy:{0}'.format(rights/len(self.data[2]))
def val_internal(self, session): max_batches = len(self.left[1]) // self.test_batch rights = 0.0 for iters in range(max_batches): batch_x_left = get_next_batch(self.left[1], None, iters, self.test_batch) batch_x_right = get_next_batch(self.right[1], None, iters, self.test_batch) batch_y = get_next_batch(self.label[1], None, iters, self.test_batch) sums = session.run(self.correct, feed_dict={ self.XL: batch_x_left, self.XR: batch_x_right, self.Y: batch_y }) rights += sums print('[Step2 Valid] RegNet val accuracy:{0}'.format( rights / len(self.left[1])))
def train(self, session, data): # prepare data self.data = data_split(X=data[0],Y=data[1],train_rate=0.8) print '[Step1 Data] Train samples:{0}, valid samples:{1}'.format(len(self.data[0]), len(self.data[3])) # train step by step for iters in range(self.max_iterations): batch_x, batch_y = get_next_batch(self.data[0], self.data[1], iters, self.batch_size) loss, _ = session.run([self.loss_func, self.optimizer],feed_dict={self.X:batch_x, self.Y:batch_y}) if iters % self.display_iters == 0: print '[Step1 Train] EyeNet Iters:{0}, loss:{1}'.format(iters,loss) if iters % self.test_iters == 0: self.val_internal(session)