__main__.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:Neural-Architecture-Search-with-RL 作者: dhruvramani 项目源码 文件源码
def fit(self, sess, summarizer):
        sess.run(self.init)
        sess.run(self.local_init)
        max_epochs = self.config.max_epochs
        self.epoch_count, val_accuracy, reward = 0, 0.0, 1.0
        while self.epoch_count < max_epochs:
            # Creation of new Child Network from new Hyperparameters
            self.hype_list = sess.run(self.hyperparams)
            hyperfoo = {"Filter Row 1": self.hype_list[0], "Filter Column 1": self.hype_list[1], "No Filter 1": self.hype_list[2], "Filter Row 2": self.hype_list[3], "Filter Column 2": self.hype_list[4], "No Filter 2": self.hype_list[5], "Filter Row 3": self.hype_list[6], "Filter Column 3": self.hype_list[7], "No Filter 3": self.hype_list[8], "No Neurons": self.hype_list[9]}
            output = ""
            for key in hyperfoo:
                output += "{} : {}\n".format(key, hyperfoo[key])
            with open("../stdout/hyperparams.log", "a+") as f:
                f.write(output + "\n\n")
            print(sess.run(self.outputs))
            print(output + "\n")
            self.second_epoch_count = 0
            while self.second_epoch_count < max_epochs :
                average_loss, tr_step = self.run_model_epoch(sess, "train", summarizer['train'], self.second_epoch_count)
                if not self.config.debug:
                    val_loss, val_accuracy = self.run_model_eval(sess, "validation", summarizer['val'], tr_step)
                    reward = sum(val_accuracy[-5:]) ** 3
                    output =  "=> Training : Loss = {:.3f} | Validation : Loss = {:.3f}, Accuracy : {:.3f}".format(average_loss, val_loss, val_accuracy[-1])
                    with open("../stdout/validation.log", "a+") as f:
                        f.write(output)
                    print(output)
                self.second_epoch_count += 1
            _ = sess.run(self.tr_cont_step, feed_dict={self.val_accuracy : reward})
            test_loss, test_accuracy = self.run_model_eval(sess, "test", summarizer['test'], tr_step)
            self.epoch_count += 1
            self.cNet, self.y_pred = self.init_child(self.hype_list)
            self.cross_loss, self.accuracy, self.tr_model_step = self.grow_child()
        returnDict = {"test_loss" : test_loss, "test_accuracy" : test_accuracy}
        self.saver.save(sess, self.config.ckptdir_path + "/model_best.ckpt")        
        return returnDict
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号