def check_step_processing(self, i, x_data, y_data): mytool.print_dot() err = self.sess.run(self.cost_function, feed_dict={ self.X: x_data, self.Y: y_data }) self.costs.append("{:.8f}".format(err))
def check_step_processing(self, i, x_data, y_data): mytool.print_dot() self.weights.append(self.sess.run(self.W)) self.biases.append(self.sess.run(self.b)) err = self.sess.run(self.cost_function, feed_dict={ self.X: x_data, self.Y: y_data }) self.costs.append(err) self.my_log(i, x_data, y_data) # Do whatever you want in this virtual function
def learn_with_segment(self, db, learning_epoch, partial_size): tf.set_random_seed(777) # for reproducibility self.init_network() # 가상함수 self.sess = tf.Session() # Initialize TensorFlow variables self.sess.run(tf.global_variables_initializer()) print("\nStart learning:") # Training cycle for epoch in range(learning_epoch): err_4_all_data = 0 number_of_segment = self.get_number_of_segment() # 가상함수 # 처음 데이터를 100개를 읽어 최적화함. # 그 다음 100개 데이터에 대하여 수행. # 이를 모두 550번 수행하면 전체 데이터 55,000개에 대해 1번 수행하게 됨. # 아래 for 문장이 한번 모두 실행되면 전체 데이터에 대해 1번 실행(학습)함. for i in range(number_of_segment): x_data, y_data = self.get_next_segment() # 가상함수 # 아래 에러는 일부분(100개)에 대한 것이므로 전체 에러를 구하려면 550으로 나누어주어야 함. 아래에서 수행 err_4_partial, _ = self.sess.run( [self.cost_function, self.optimizer], feed_dict={ self.X: x_data, self.Y: y_data, self.DO: 0.7 }) err_4_all_data += err_4_partial import mytool mytool.print_dot() avg_err = err_4_all_data / number_of_segment # self.costs.append(avg_err) self.my_log(epoch, x_data, y_data) # 가상함수 print("\nDone!\n")