def __init__(self, input_size, output_size, input_node, target_node, initializer, activator, optimizer, learning_rate, model_params_dir): self.input_size = input_size self.output_size = output_size self.input_node = input_node self.target_node = target_node self.activator = activator self.initializer = initializer self.optimizer = optimizer(learning_rate=learning_rate) self.params = {} self.optimal_epoch_and_params = None self.output = None self.error = None self.max_epoch = None self.model_params_dir = model_params_dir self.session = tfs.Session() self.mode_id = ''.join( random.choices(string.ascii_uppercase + string.digits, k=8)) super().__init__()
def __init__(self, input_size, output_size): self.input_size = input_size self.output_size = output_size self.input_node = None self.target_node = None self.activator = None self.initializer = None self.optimizer = None self.params = OrderedDict() self.output = None self.error = None self.session = tfs.Session() super().__init__()
def __init__(self, input_size, hidden_size_list, output_size, input_node=None, target_node=None, initializer=tfe.Initializer.Normal.value, init_sd=0.01, activator=tfe.Activator.ReLU.value, optimizer=tfe.Optimizer.SGD.value, learning_rate=0.01): super().__init__() self.input_size = input_size self.output_size = output_size self.input_node = input_node self.target_node = target_node self.activator = activator self.initializer = initializer self.optimizer = optimizer(learning_rate=learning_rate) self.params = {} self.optimal_epoch_and_params = None self.output = None self.error = None self.max_epoch = None self.session = tfs.Session() self.mode_id = ''.join( random.choices(string.ascii_uppercase + string.digits, k=8)) print("Multi Layer Network Model - ID:", self.mode_id) self.hidden_size_list = hidden_size_list self.hidden_layer_num = len(hidden_size_list) self.params_size_list = None self.layers = OrderedDict() self.train_error_list = [] self.validation_error_list = [] self.test_accuracy_list = [] self.min_validation_error_epoch = sys.maxsize self.min_train_error = sys.float_info.max self.min_validation_error = sys.float_info.max self.min_fold_idx = sys.maxsize self.test_accuracy_at_min_validation_error_epoch = 0.0 self.min_validation_error_per_fold = [] self.param_mean_list = {} self.param_variance_list = {} self.param_skewness_list = {} self.param_kurtosis_list = {} self.output_mean_list = {} self.output_variance_list = {} self.output_skewness_list = {} self.output_kurtosis_list = {} self.initialize_param(sd=init_sd) self.layering()
a = tfg.Variable(5.0, name='a') b = tfg.Variable(1.0, name='b') # Create placeholder x = tfg.Placeholder(name='x') # Create hidden node y y = tfg.Mul(a, x, name="y") # Create output node z z = tfg.Add(y, b, name="z") #nx.draw_networkx(g, with_labels=True) #plt.show(block=True) session = tfs.Session() output = session.run(z, {x: 1.0}) print(output) print(z.input_nodes[0], z.input_nodes[1]) print(z.output) print(z.consumers) print(y.consumers[0]) print(x.consumers[0]) print(a.consumers[0]) print(a.consumers) # print(a.consumers[1]) 여러번 사용될경우 생김 print('***********************************') # Create a new graph
def __init__(self, input_dim, cnn_param_list, fc_hidden_size, output_size, input_node=None, target_node=None, use_batch_normalization=False, use_dropout=False, dropout_ratio_list=None, conv_initializer=tfe.Initializer.Conv_Xavier_Normal, initializer=tfe.Initializer.Normal.value, init_sd=0.01, activator=tfe.Activator.ReLU.value, optimizer=tfe.Optimizer.SGD.value, learning_rate=0.01): super().__init__() self.input_dim = input_dim self.cnn_param_list = cnn_param_list self.fc_hidden_size = fc_hidden_size self.output_size = output_size self.use_batch_normalization = use_batch_normalization self.use_dropout = use_dropout self.dropout_ratio_list = dropout_ratio_list self.input_node = input_node self.target_node = target_node self.conv_initializer = conv_initializer self.initializer = initializer self.activator = activator self.optimizer = optimizer(learning_rate=learning_rate) self.params = {} self.optimal_epoch_and_params = None self.output = None self.error = None self.max_epoch = None self.session = tfs.Session() self.mode_id = ''.join(random.choices(string.ascii_uppercase + string.digits, k=8)) print("Convolutional Neural Network Model - ID:", self.mode_id) self.params_size_list = None self.layers = OrderedDict() self.train_error_list = [] self.validation_error_list = [] self.test_accuracy_list = [] self.min_validation_error_epoch = sys.maxsize self.min_train_error = sys.float_info.max self.min_validation_error = sys.float_info.max self.min_fold_idx = sys.maxsize self.test_accuracy_at_min_validation_error_epoch = 0.0 self.min_validation_error_per_fold = [] self.param_mean_list = {} self.param_variance_list = {} self.param_skewness_list = {} self.param_kurtosis_list = {} self.output_mean_list = {} self.output_variance_list = {} self.output_skewness_list = {} self.output_kurtosis_list = {} self.shape_before_fc = None self.num_neurons_flatten_for_fc = None self.last_layer_idx = -1 self.global_last_epoch = -1 self.param_idx_list = [] self.conv_param_idx_list = [] self.initialize_param(sd=init_sd) self.layering()