class MLGUI: def __init__(self, master): self.master = master master.title("My ML GUI") self.network = MyNetwork() self.label = Label(master, text="This is ML GUI") self.label.pack() self.load_button = Button(master, text="Load Data", command=self.load) self.load_button.pack() self.learn_button = Button(master, text="Teach Network", command=self.teach) self.learn_button.pack() self.test_button = Button(master, text="Test Network", command=self.test) self.test_button.pack() self.close_button = Button(master, text="Close", command=master.quit) self.close_button.pack() def load(self): self.network.load_data() print("Im loading") def teach(self): print("Im teaching") self.network.learn() def test(self): print("Im testing") predictions = self.network.predict() show_image(predictions, self.network.test_labels, self.network.test_images)
def main(config): """The main function.""" # Initialize network mynet = MyNetwork(config) # Run propper mode if config.run_mode == "train": # Load data train and validation data data = {} data["train"] = load_data(config, "train") data["valid"] = load_data(config, "valid") # Run train mynet.train(data) elif config.run_mode == "test": # Load validation and test data. Note that we also load validation to # visualize more than what we did for training. For training we choose # minimal reporting to not slow down. data = {} data["valid"] = load_data(config, "valid") data["test"] = load_data(config, "test") # Run train mynet.test(data) elif config.run_mode == "test_simple": data = {} data["valid"] = load_data(config, "valid") data["test"] = load_data(config, "test") mynet.test_simple(data) elif config.run_mode == "comp": # This mode is for running comparison experiments. While cleaning the # code, I took many parts out to make the code cleaner, which may have # caused some issues. We are releasing this part just to help # researchers, but we will not provide any support for this # part. Please use at your own risk. data = {} data["valid"] = load_data(config, "valid") data["test"] = load_data(config, "test") # Run train mynet.comp(data)
def __init__(self, master): self.master = master master.title("My ML GUI") self.network = MyNetwork() self.label = Label(master, text="This is ML GUI") self.label.pack() self.load_button = Button(master, text="Load Data", command=self.load) self.load_button.pack() self.learn_button = Button(master, text="Teach Network", command=self.teach) self.learn_button.pack() self.test_button = Button(master, text="Test Network", command=self.test) self.test_button.pack() self.close_button = Button(master, text="Close", command=master.quit) self.close_button.pack()
def model_generator(): l = [1000] + layers + [3] network_layers = [] for i in range(1, len(l)): network_layers.append(torch.nn.Linear(l[i - 1], l[i])) if i != len(l) - 1: network_layers.append( get_activation_function(activation_function)) return MyNetwork(network_layers)
kp2 = kp2[sorted_idx, :] scores = y.squeeze()[sorted_idx] # filter out matches with negative scores kp1 = kp1[scores > 0] kp2 = kp2[scores > 0] filtered_matches.append([kp1, kp2, im1_name, im2_name]) if save: np.savez('feature_matches_filtered', filtered_matches=filtered_matches) return np.array(filtered_matches) IMG_PATHS_FILE = 'sfm_image_paths - Copy.txt' # load unfiltered_matches: # feature_matches = np.load('feature_matches_unfiltered.npz')['feature_matches'] # uncomment the following line if unfiltered matches do not exist feature_matches = match_img_list(IMG_PATHS_FILE, save=True) with open('./demo/config.pickle', 'rb') as handle: config = pickle.load(handle) mynet = MyNetwork(config) mynet.load_model() # generate filtered matched. Note matches are not cv.KeyPoint objects but 2D points # example shape is filtered_matches[img_combinations[kps1, kps2[2D point]], img1_name, img_2 name] filtered_matches = filter_matches(feature_matches, mynet, save=True)
from config import * from network import MyNetwork, LOG, WARNING def parse_network(net_str): net_str = net_str.split('+') net_backbone = net_str[:-1] net_head = net_str[-1] module = [] for b in net_backbone: part = name2net[b](params, in_encoder=True) if hasattr(part, 'output_channels'): params.output_channels = part.output_channels module.append(part) module.append(name2net[net_head](params)) return module network = 'resnet101+aspp_plus+deeplabv3_plus_decoder' params = Params() params.model = network params.dataset_root = '/media/ubuntu/disk/cityscapes' params.has_max_pool = False params.output_stride = 16 net = MyNetwork(params, module=parse_network(network)) net.Train()
# coding: utf-8 import sys, os sys.path.append(os.pardir) # 부모 디렉터리의 파일을 가져올 수 있도록 설정 import numpy as np from network import MyNetwork from matplotlib import pyplot as plt # load data x_train = np.array([[0, 0], [0, 1], [1, 0], [1, 1]]) t_train = np.array([[1, 0], [0, 1], [0, 1], [1, 0]]) x_test = np.array([[0, 0], [0, 1], [1, 0], [1, 1]]) t_test = np.array([[1, 0], [0, 1], [0, 1], [1, 0]]) network = MyNetwork(input_size=2, hidden_size=8, output_size=2) iters_num = 5000 learning_rate = 0.1 train_size = x_train.shape[0] batch_size = 4 iter_per_epoch = max(train_size / batch_size, 1) train_loss_list = [] train_acc_list = [] test_acc_list = [] for i in range(iters_num): # batch_mask = np.random.choice(train_size, batch_size) # x_batch = x_train[batch_mask] # t_batch = t_train[batch_mask]