def solve(self, input_train_data, target_train_data, input_val_data, target_val_data, model, callback=None): if not isinstance(model, PerceptronModel): raise ValueError( 'PerceptronSolver can only solve for PerceptronModel') # convert numpy arrays to util.Counters and lists print("Converting numpy arrays to counters and lists...") rows = input_train_data.shape[0] input_train_data = np.c_[input_train_data, np.ones((rows, 1))] input_train_data = util.counters_from_numpy_array(input_train_data) target_train_data = util.list_from_numpy_array_one_hot( target_train_data) rows = input_val_data.shape[0] input_val_data = np.c_[input_val_data, np.ones((rows, 1))] input_val_data = util.counters_from_numpy_array(input_val_data) target_val_data = util.list_from_numpy_array_one_hot(target_val_data) print("... done") if callback is None or self.plot == 0: train_callback = None else: train_callback = lambda: callback(model) model.train(input_train_data, target_train_data, input_val_data, target_val_data, iterations=self.iterations, callback=train_callback)
def solve(self, input_train_data, target_train_data, input_val_data, target_val_data, model, callback=None): if not isinstance(model, PerceptronModel): raise ValueError('PerceptronSolver can only solve for PerceptronModel') # convert numpy arrays to util.Counters and lists print("Converting numpy arrays to counters and lists...") rows = input_train_data.shape[0] input_train_data = np.c_[input_train_data, np.ones((rows,1))] input_train_data = util.counters_from_numpy_array(input_train_data) target_train_data = util.list_from_numpy_array_one_hot(target_train_data) rows = input_val_data.shape[0] input_val_data = np.c_[input_val_data, np.ones((rows,1))] input_val_data = util.counters_from_numpy_array(input_val_data) target_val_data = util.list_from_numpy_array_one_hot(target_val_data) print("... done") if callback is None or self.plot == 0: train_callback = None else: train_callback = lambda: callback(model) model.train(input_train_data, target_train_data, input_val_data, target_val_data, iterations=self.iterations, callback=train_callback)
def accuracy(self, input_data, target_data): if isinstance(input_data, np.ndarray): input_data = util.counters_from_numpy_array(input_data) if isinstance(target_data, np.ndarray): target_data = util.list_from_numpy_array_one_hot(target_data) return PerceptronClassifier.accuracy(self, input_data, target_data)
def classify(self, input_data): if isinstance(input_data, np.ndarray): input_data = util.counters_from_numpy_array(input_data) return PerceptronClassifier.classify(self, input_data)