num_epoch=num_epoch, initializer=mx.init.Xavier(), force_init=False, optimizer='adam', optimizer_params={"learning_rate": learning_rate}) return mod def _input_fn(csv_filepath, config, batch_size): # data_filepath = os.path.join(training_dir, data_file) with open(csv_filepath, 'rb') as f: reader = csv.reader(f) rows = [x for x in reader] frame_files = [x[0] for x in rows] labels = [np.array(x[1:], dtype=np.float32) for x in rows] return zip(labels, frame_files) if __name__ == "__main__": from config import ConfigManager config_manager = ConfigManager('inception_pool_config_gpu_sage.json', folder='configs/') config = config_manager.get_json() mx.viz.plot_network(get_graph('reg_out')) m = train(config['training'], {"root": "csvs/"}, 1, 0, path_root="/Users/campbellweaver/Documents/VisionData/")
predictions = Dense(nb_outputs, activation='linear', use_bias=False, kernel_initializer='zero', name='m_matrix_regr_out')(x) model = Model(inputs=base_model.input, outputs=predictions) return model def get_model(self): # print self.model.summary() return self.model if __name__ == '__main__': from config import ConfigManager cm = ConfigManager('inception_pool_config_sage.json') cfg = cm.get_json() rm = ResearchModels(cfg['training'], load_imagenet=False) model = rm.get_model() print model.summary() # # Then remove the top so we get features not predictions. # # From: https://github.com/fchollet/keras/issues/2371 # self.model.layers.pop() # self.model.layers.pop() # two pops to get to pool layer # self.model.outputs = [self.model.layers[-1].output] # self.model.output_layers = [self.model.layers[-1]] # self.model.layers[-1].outbound_nodes = []