def fit(self, X, Y): X4D = get4D(X) Y4D = get4D(Y) data_layer = self.dataset_adaptor.fit_transform(X4D,Y4D) net = self.get_net(data_layer) self.trainer.init_trainer(net,X4D, Y4D) self.trainer.solve() return self.trainer
def set_train_data(self, X, Y): # TODO find better way to assign data, support batches X4D = get4D(X) Y4D = get4D(Y) sh = Y4D.shape self.net.blobs['label'].reshape (sh[0], sh[1], sh[2], sh[3]) self.net.blobs['data'].data[...] = X4D self.net.blobs['label'].data[...] = Y4D
def set_train_data(self, X, Y): # TODO find better way to assign data, support batches # self.net.set_input_arrays(X,Y) X4D = get4D(X) Y4D = get4D(Y) sh = Y4D.shape self.solver.net.blobs['label'].reshape(sh[0], sh[1], sh[2], sh[3]) self.solver.net.blobs['data'].data[...] = X4D self.solver.net.blobs['label'].data[...] = Y4D
def predict(self, X): X4D = get4D(X) self.solver.set_test_data (X4D) self.solver.test_nets[0].forward() prob = self.solver.test_nets[0].blobs['output'].data print prob.shape pred = prob[:, 0] < prob[:, 1] return pred
def predict(self, x_test): X4D = get4D(x_test) self.set_test_data(X4D) self.solver.test_nets[0].forward()
def set_test_data(self, X): X4D = get4D(X) sh = X4D.shape self.solver.test_nets[0].blobs['data'].reshape(sh[0], sh[1], sh[2], sh[3]) self.solver.test_nets[0].blobs['data'].data[...] = X4D
def predict(self, x_test): X4D = get4D(x_test) self.set_test_data (X4D) self.solver.test_nets[0].forward()
def set_test_data(self, X): X4D= get4D(X) sh = X4D.shape self.solver.test_nets[0].blobs['data'].reshape (sh[0], sh[1], sh[2], sh[3]) self.solver.test_nets[0].blobs['data'].data[...] = X4D