Beispiel #1
0
from src.cifar10.micro_child import MicroChild

deviceIDs = GPUtil.getFirstAvailable()
print('Available GPU: {}'.format(deviceIDs))
os.environ["CUDA_VISIBLE_DEVICES"] = ','.join(map(str, deviceIDs))

flags = tf.app.flags
FLAGS = flags.FLAGS

DEFINE_boolean("reset_output_dir", False, "Delete output_dir if exists.")
DEFINE_string("data_path", "", "")
DEFINE_string("output_dir", "", "")
DEFINE_string("data_format", "NHWC", "'NHWC' or 'NCWH'")
DEFINE_string("search_for", None, "Must be [macro|micro]")

DEFINE_integer("batch_size", 32, "")

DEFINE_integer("num_epochs", 300, "")
DEFINE_integer("child_lr_dec_every", 100, "")
DEFINE_integer("child_num_layers", 5, "")
DEFINE_integer("child_num_cells", 5, "")
DEFINE_integer("child_filter_size", 5, "")
DEFINE_integer("child_out_filters", 48, "")
DEFINE_integer("child_out_filters_scale", 1, "")
DEFINE_integer("child_num_branches", 4, "")
DEFINE_integer("child_num_aggregate", None, "")
DEFINE_integer("child_num_replicas", 1, "")
DEFINE_integer("child_block_size", 3, "")
DEFINE_integer("child_lr_T_0", None, "for lr schedule")
DEFINE_integer("child_lr_T_mul", None, "for lr schedule")
DEFINE_integer("child_cutout_size", None, "CutOut size")
Beispiel #2
0
from src.utils import DEFINE_string
from src.utils import print_user_flags

from src.ptb.ptb_enas_child import PTBEnasChild
from src.ptb.ptb_enas_controller import PTBEnasController

flags = tf.app.flags
FLAGS = flags.FLAGS

DEFINE_boolean("reset_output_dir", False, "Delete output_dir if exists.")
DEFINE_string("data_path", "", "")
DEFINE_string("output_dir", "", "")
DEFINE_string("search_for", None, "[rhn|base|enas]")

DEFINE_string("child_fixed_arc", None, "")
DEFINE_integer("batch_size", 25, "")
DEFINE_integer("child_base_number", 4, "")
DEFINE_integer("child_num_layers", 2, "")
DEFINE_integer("child_bptt_steps", 20, "")
DEFINE_integer("child_lstm_hidden_size", 200, "")
DEFINE_float("child_lstm_e_keep", 1.0, "")
DEFINE_float("child_lstm_x_keep", 1.0, "")
DEFINE_float("child_lstm_h_keep", 1.0, "")
DEFINE_float("child_lstm_o_keep", 1.0, "")
DEFINE_boolean("child_lstm_l_skip", False, "")
DEFINE_float("child_lr", 1.0, "")
DEFINE_float("child_lr_dec_rate", 0.5, "")
DEFINE_float("child_grad_bound", 5.0, "")
DEFINE_float("child_temperature", None, "")
DEFINE_float("child_l2_reg", None, "")
DEFINE_float("child_lr_dec_min", None, "")
Beispiel #3
0
from src.data_utils import read_data

from src.models import Hparams
from src.models import softmax_classifier,feed_forward_net,conv_net

flags = tf.app.flags
FLAGS = flags.FLAGS

DEFINE_boolean("reset_output_dir", False, "Delete output_dir if exists.")
DEFINE_string("data_path", None, "Path to CIFAR-10 data")
DEFINE_string("output_dir", "output", "Path to log folder")

DEFINE_string("model_name", "",
              "Name of the method. [softmax|feed_forward|conv]")

DEFINE_integer("log_every", 10, "How many steps to log")

def get_ops(images, labels):
  """Builds the model."""

  print("-" * 80)
  print("Creating a '{0}' model".format(FLAGS.model_name))
  if FLAGS.model_name == "softmax":
    ops = softmax_classifier(images, labels)
  elif FLAGS.model_name == "feed_forward":
    ops = feed_forward_net(images, labels)
  elif FLAGS.model_name == "conv_net":
    ops = conv_net(images, labels)
  else:
    raise ValueError("Unknown model name '{0}'".format(FLAGS.model_name))
Beispiel #4
0
def macro_init():
    DEFINE_boolean("reset_output_dir", False, "Delete output_dir if exists.")
    DEFINE_string("output_dir", "", "")
    DEFINE_string("search_for", "macro", "Must be [macro|micro]")

    DEFINE_integer("batch_size", 128, "")
    DEFINE_integer("num_epochs", 310, "")
    DEFINE_integer("train_data_size", 45000, "")

    DEFINE_integer("child_num_layers", 12, "")
    DEFINE_integer("child_num_branches", 6, "")
    DEFINE_integer("child_out_filters", 36, "")
    DEFINE_integer("child_num_cells", 5, "")

    DEFINE_float("controller_lr", 0.001, "")
    DEFINE_float("controller_lr_dec_rate", 1.0, "")
    DEFINE_float("controller_keep_prob", 0.5, "")
    DEFINE_float("controller_l2_reg", 0.0, "")
    DEFINE_float("controller_bl_dec", 0.99, "")
    DEFINE_float("controller_tanh_constant", 1.5, "")
    DEFINE_float("controller_op_tanh_reduce", 2.5, "")
    DEFINE_float("controller_entropy_weight", 0.0001, "")
    DEFINE_float("controller_skip_target", 0.4, "")
    DEFINE_float("controller_skip_weight", 0.8, "")
    DEFINE_float("controller_temperature", None, "")
    DEFINE_integer("controller_num_aggregate", 20, "")
    DEFINE_integer("controller_num_replicas", 1, "")
    DEFINE_integer("controller_train_steps", 50, "")
    DEFINE_integer("controller_forwards_limit", 2, "")
    DEFINE_integer("controller_train_every", 1,
                   "train the controller after this number of epochs")
    DEFINE_boolean("controller_search_whole_channels", True, "")
    DEFINE_boolean("controller_sync_replicas", False,
                   "To sync or not to sync.")
    DEFINE_boolean("controller_training", True, "")
    DEFINE_boolean("controller_use_critic", False, "")

    DEFINE_integer("log_every", 50, "How many steps to log")
    DEFINE_integer("eval_every_epochs", 1, "How many epochs to eval")

    DEFINE_string("tuner_class_name", "", "")
    DEFINE_string("tuner_class_filename", "", "")
    DEFINE_string("tuner_args", "", "")
    DEFINE_string("tuner_directory", "", "")
    DEFINE_string("assessor_class_name", "", "")
    DEFINE_string("assessor_args", "", "")
    DEFINE_string("assessor_directory", "", "")
    DEFINE_string("assessor_class_filename", "", "")
    DEFINE_boolean("multi_phase", True, "")
    DEFINE_boolean("multi_thread", True, "")
Beispiel #5
0
from src.cifar10.general_controller import GeneralController
from src.cifar10.general_child import GeneralChild

from src.cifar10.micro_controller import MicroController
from src.cifar10.micro_child import MicroChild

flags = tf.app.flags
FLAGS = flags.FLAGS

DEFINE_boolean("reset_output_dir", False, "Delete output_dir if exists.")       #如果输出存在,删除它,并且新建输出目录
DEFINE_string("data_path", "", "")                                              #数据文件存储路径
DEFINE_string("output_dir", "", "")                                             #输出目录
DEFINE_string("data_format", "NHWC", "'NHWC' or 'NCWH'")                        #数据的格式,NHWC或NCWH
DEFINE_string("search_for", None, "Must be [macro|micro]")                      #search方式,macro或者micro

DEFINE_integer("batch_size", 32, "")                                            #batch大小

DEFINE_integer("num_epochs", 300, "")                                           #epoch数量

"""子模型的参数"""
DEFINE_integer("child_lr_dec_every", 100, "")                                   #每多少batch学习衰减一次
DEFINE_integer("child_num_layers", 5, "")                                       #网络的层数,即论文中的节点数
DEFINE_integer("child_num_cells", 5, "")                                        #micro方法的参数,大概是cell中节点的数量
DEFINE_integer("child_filter_size", 5, "")                                      #
DEFINE_integer("child_out_filters", 48, "")                                     #
DEFINE_integer("child_out_filters_scale", 1, "")                                #
DEFINE_integer("child_num_branches", 4, "")                                     #
DEFINE_integer("child_num_aggregate", None, "")                                 #
DEFINE_integer("child_num_replicas", 1, "")                                     #跟并行有关
DEFINE_integer("child_block_size", 3, "")                                       #
DEFINE_integer("child_lr_T_0", None, "for lr schedule")                         #学习率相关
import numpy as np
import os
import tensorflow as tf
from random import shuffle
import cv2
import glob
import src.utils_img as utils_img
from src.utils import DEFINE_integer

os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "0"

flags = tf.app.flags
FLAGS = flags.FLAGS

DEFINE_integer("patch_size", 48, "patch size for valid data")
DEFINE_integer("upsample_size", 2, "rate of lr image size")
DEFINE_integer("patch_num", 500, "patch data_num of valid data")

def _int64_feature(value):
    return tf.train.Feature(int64_list=tf.train.Int64List(value=[value]))


def _bytes_feature(value):
    return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value]))


sTrainDataPath = "./data/DIV2K_train_HR/*.png"
lTrainImgName = glob.glob(sTrainDataPath)

Beispiel #7
0
              "path of train,valid tfrecord folder")
DEFINE_string("img_path", "../data/", "path of test image folder")
DEFINE_string("data_format", "NHWC", "image data format. 'NHWC' or 'NCHW'")
DEFINE_string("output_dir", "./outputs/fixed_small_cb_x4", "path of result")
DEFINE_string("checkpoint", "model.ckpt-931000", "path of checkpoint file")
DEFINE_string("checkpoint_dir", "./outputs/x2", "path of checkpoint file")

DEFINE_boolean("test_mode", False, "use when test")
DEFINE_boolean("inference_mode", False, "use when inference")
DEFINE_string("use_model", None, "which model to use for training")
DEFINE_boolean("rl_search", False, "use global/local feature fusion searching")
DEFINE_boolean("cb_reward", True, "use complexity based reward")
DEFINE_float("cb_rate", 2, "rate of complexity based reward")

# parameters for batch and training
DEFINE_integer("batch_size", 4, "batch size in training process")
DEFINE_integer("num_epochs", 600, "training epoch for child_network")
DEFINE_integer("it_per_epoch", 1000, "iteration of 1 epoch for child_network")
DEFINE_integer("eval_batch_size", 20, "batch size of evaluation process")
DEFINE_integer("test_batch_size", 1, "batch size of test process")
DEFINE_integer("loss_cut", 2,
               "cut training process when loss > avgLoss*loss_cut")
DEFINE_boolean("image_random", False, "use when test")
DEFINE_boolean("channel_attn", True, "use channel_attn method or not")

# parameters for child_network design
DEFINE_integer("child_upsample_size", 2, "rate of lr image size")
DEFINE_integer("child_num_layers", 4, "number of Cells")
DEFINE_integer("child_num_cells", 4, "number of layers in cells")
DEFINE_integer("child_out_filters", 64,
               "number of out filter channels of each cells")
Beispiel #8
0
import tensorflow as tf
from src.utils import DEFINE_boolean
from src.utils import DEFINE_float
from src.utils import DEFINE_integer
from src.utils import DEFINE_string

flags = tf.app.flags
FLAGS = flags.FLAGS

DEFINE_boolean("reset_output_dir", False, "Delete output_dir if exists.")
DEFINE_string("data_path", "", "")
DEFINE_string("output_dir", "", "")
DEFINE_string("data_format", "NHWC", "'NHWC' or 'NCWH'")
DEFINE_string("search_for", None, "Must be [macro|micro]")
DEFINE_integer("train_data_size", 45000, "")
DEFINE_integer("batch_size", 32, "")

DEFINE_integer("num_epochs", 300, "")
DEFINE_integer("child_lr_dec_every", 100, "")
DEFINE_integer("child_num_layers", 5, "")
DEFINE_integer("child_num_cells", 5, "")
DEFINE_integer("child_filter_size", 5, "")
DEFINE_integer("child_out_filters", 48, "")
DEFINE_integer("child_out_filters_scale", 1, "")
DEFINE_integer("child_num_branches", 4, "")
DEFINE_integer("child_num_aggregate", None, "")
DEFINE_integer("child_num_replicas", 1, "")
DEFINE_integer("child_block_size", 3, "")
DEFINE_integer("child_lr_T_0", None, "for lr schedule")
DEFINE_integer("child_lr_T_mul", None, "for lr schedule")
DEFINE_integer("child_cutout_size", None, "CutOut size")
Beispiel #9
0
import tensorflow as tf
from src.utils import DEFINE_boolean
from src.utils import DEFINE_float
from src.utils import DEFINE_integer
from src.utils import DEFINE_string
flags = tf.app.flags
FLAGS = flags.FLAGS


DEFINE_boolean("reset_output_dir", False, "Delete output_dir if exists.")
DEFINE_string("output_dir", "", "")
DEFINE_string("search_for", "macro", "Must be [macro|micro]")

DEFINE_integer("batch_size", 128, "")
DEFINE_integer("num_epochs", 310, "")
DEFINE_integer("train_data_size", 45000, "")

DEFINE_integer("child_num_layers", 12, "")
DEFINE_integer("child_num_branches", 6, "")
DEFINE_integer("child_out_filters", 36, "")
DEFINE_integer("child_num_cells", 5, "")

DEFINE_float("controller_lr", 0.001, "")
DEFINE_float("controller_lr_dec_rate", 1.0, "")
DEFINE_float("controller_keep_prob", 0.5, "")
DEFINE_float("controller_l2_reg", 0.0, "")
DEFINE_float("controller_bl_dec", 0.99, "")
DEFINE_float("controller_tanh_constant", 1.5, "")
DEFINE_float("controller_op_tanh_reduce", 2.5, "")
DEFINE_float("controller_entropy_weight", 0.0001, "")
DEFINE_float("controller_skip_target", 0.4, "")
from src.models import Hparams
from src.models import conv_net
from src.models import feed_forward_net

flags = tf.app.flags
FLAGS = flags.FLAGS

DEFINE_boolean("reset_output_dir", False, "Delete output_dir if exists.")
DEFINE_string("data_path", None, "Path to CIFAR-10 data")
DEFINE_string("output_dir", "output", "Path to log folder")

DEFINE_string("model_name", "",
              "Name of the method. [feed_forward|conv]")

DEFINE_integer("log_every", 10, "How many steps to log")
DEFINE_integer("num_classes", 10, "Number of classes")
DEFINE_integer("train_batch_size", 256, "Size of training batches")
DEFINE_integer("eval_batch_size", 100, "Size of testing batches")
DEFINE_float("l2_reg", 1e-4, "L2 regularization rate")
DEFINE_float("learning_rate", 0.05, "Learning rate")
DEFINE_integer("train_steps", 6000, "Number of training steps")

def get_ops(images, labels):
  """Builds the model."""

  print("-" * 80)
  print("Creating a '{0}' model".format(FLAGS.model_name))
  if FLAGS.model_name == "feed_forward":
    ops = feed_forward_net(images, labels, FLAGS)
  elif FLAGS.model_name == "conv":