Exemple #1
0
    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")