def test_pickle_woperator_tree(self): win = np.ones((9, 3), np.uint8) ims = trios.Imageset.read("images/level1.set") wop = trios.WOperator(win, SKClassifier(DecisionTreeClassifier()), RAWFeatureExtractor) wop.train(ims) temp = tempfile.NamedTemporaryFile(delete=False) name = temp.name temp.close() gz = gzip.GzipFile(name, mode='w+b') pickle.dump(wop, gz, -1) gz.close() gz = gzip.GzipFile(name, mode='rb') wop2 = pickle.load(gz) gz.close() compare_window(wop.window, wop2.window) compare_raw_fe(wop.extractor, wop2.extractor) self.assertEqual(wop.trained, wop2.trained) self.assertEqual(type(wop.classifier.cls), type(wop2.classifier.cls))
import numpy as np import trios.shortcuts.persistence as p import trios.shortcuts.window as w if __name__ == '__main__': np.random.seed(10) images = trios.Imageset.read('images/level1.set') images2 = trios.Imageset.read('images/level2.set') test = trios.Imageset.read('images/test.set') domain = np.ones((7, 7), np.uint8) ops = [] for i in range(5): win = w.random_win(domain, 40, True) op = trios.WOperator(win, SKClassifier(DecisionTreeClassifier()), RAWFeatureExtractor) print('Training...', i) op.train(images) ops.append(op) comb = CombinationPattern(*ops) wop2 = trios.WOperator(comb.window, SKClassifier(DecisionTreeClassifier(), ordered=True), comb, batch=True) print('Training 2nd level') wop2.train(images2) # save trained operator
from trios.contrib.kern_approx import NystromFeatures from trios.classifiers import SKClassifier from trios.feature_extractors import Aperture import trios import numpy as np from sklearn.svm import LinearSVC from aperture import training, testset if __name__ == '__main__': np.random.seed(10) domain = np.ones((11, 11), np.uint8) ap = Aperture(domain, k=10, mul=0.5) ka_features = NystromFeatures(ap, training, n_components=200, kernel='gaussian', gamma=0.01, batch_size=20000) svm = SKClassifier(LinearSVC(), partial=True) op = trios.WOperator(domain, svm, ka_features) op.train(training) print('Accuracy:', 1 - op.eval(testset[:2]))
from trios.classifiers import SKClassifier from sklearn.tree import DecisionTreeClassifier from trios.contrib.features.sobel import SobelExtractor import trios import numpy as np import trios.shortcuts.persistence as p drive_location = 'datasets/drive' training = trios.Imageset([ ('%s/training/images/%2d_training.tif'%(drive_location, i), '%s/training/1st_manual/%2d_manual1.gif'%(drive_location, i), '%s/training/mask/%2d_training_mask.gif'%(drive_location, i)) for i in range(21, 41)]) testset = trios.Imageset([ ('%s/test/images/%02d_test.tif'%(drive_location, i), '%s/test/1st_manual/%02d_manual1.gif'%(drive_location, i), '%s/test/mask/%02d_test_mask.gif'%(drive_location, i)) for i in range(1, 21)]) if __name__ == '__main__': win = np.ones((9,9), np.uint8) sobel = SobelExtractor(window=win) op = trios.WOperator(win, SKClassifier(DecisionTreeClassifier()), sobel) print('Training') op.train(training) print('Evaluating') print('Accuracy:', 1 - op.eval(testset))
from trios.classifiers import SKClassifier from sklearn.tree import DecisionTreeClassifier from trios.feature_extractors import RAWFeatureExtractor import trios import numpy as np import trios.shortcuts.persistence as p import trios.shortcuts.window as trios_win if __name__ == '__main__': training_set = trios.Imageset.read('jung-images/training.set') test = trios.Imageset.read('jung-images/test.set') win = trios_win.rectangle(9, 7) classifier = SKClassifier(DecisionTreeClassifier()) fext = RAWFeatureExtractor(win) op = trios.WOperator(win, classifier, fext) op.train(training_set) p.save_gzip(op, 'basic-jung.op.gz') print('Error: ', op.eval(test))
from sklearn.tree import DecisionTreeClassifier from trios.contrib.features.moments import MomentsExtractor import trios import numpy as np import trios.shortcuts.persistence as p drive_location = 'datasets/' training = trios.Imageset([ ('%s/training/images/%2d_training.tif' % (drive_location, i), '%s/training/1st_manual/%2d_manual1.gif' % (drive_location, i), '%s/training/mask/%2d_training_mask.gif' % (drive_location, i)) for i in range(21, 41) ]) testset = trios.Imageset([ ('%s/test/images/%02d_test.tif' % (drive_location, i), '%s/test/1st_manual/%02d_manual1.gif' % (drive_location, i), '%s/test/mask/%02d_test_mask.gif' % (drive_location, i)) for i in range(1, 21) ]) if __name__ == '__main__': win = np.ones((9, 9), np.uint8) moments = MomentsExtractor(win, order=4) op = trios.WOperator(win, SKClassifier(DecisionTreeClassifier()), moments) print('Training') op.train(training) print('Evaluating') print('Accuracy:', 1 - op.eval(testset))
from trios.classifiers import SKClassifier from sklearn import svm from sklearn.tree import DecisionTreeClassifier from trios.contrib.features.lbp import LBPExtractor from trios.contrib.features.featurecombination import FeatureCombinationExtractor from trios.feature_extractors import RAWFeatureExtractor import trios import numpy as np import trios.shortcuts.persistence as p if __name__ == '__main__': images = trios.Imageset.read('images/training.set') win = np.ones((5, 5), np.uint8) lbp = LBPExtractor(window=win, batch_size=1000) raw = RAWFeatureExtractor(window=win, batch_size=1000) feats = [] feats.append(lbp) feats.append(raw) combination = FeatureCombinationExtractor(*feats) op = trios.WOperator( win, SKClassifier(svm.LinearSVC(class_weight='balanced'), partial=True), combination) op.train(images) test = trios.Imageset.read('images/test.set') print('Accuracy', op.eval(test, procs=1))
import pyximport pyximport.install() from trios.classifiers import SKClassifier from sklearn.tree import DecisionTreeClassifier from sklearn import svm from trios.contrib.features.sobel import SobelExtractor import trios import numpy as np import trios.shortcuts.persistence as p if __name__ == '__main__': images = trios.Imageset.read('images/training.set') win = np.ones((5, 5), np.uint8) sobel = SobelExtractor(window=win, batch_size=1000) op = trios.WOperator(win, SKClassifier(svm.LinearSVC()), sobel) op.train(images) img= p.load_image('images/jung-1a.png') lbp = op.apply(img, img) p.save_image(lbp, 'sobel-out.png') test = trios.Imageset.read('images/test.set') print('Accuracy', op.eval(test, procs=7))
from trios.classifiers import SKClassifier from sklearn.tree import DecisionTreeClassifier from trios.contrib.features.hog import HoGExtractor import trios import numpy as np import trios.shortcuts.persistence as p if __name__ == '__main__': images = trios.Imageset.read('images/training.set') win = np.ones((5, 5), np.uint8) op = trios.WOperator(win, SKClassifier(DecisionTreeClassifier()), HoGExtractor) op.train(images) img= p.load_image('images/jung-1a.png') hog = op.apply(img, img) test = trios.Imageset.read('images/test.set') print('Accuracy', op.eval(test, procs=7))
from sklearn.tree import DecisionTreeClassifier from trios.feature_extractors import RAWFeatureExtractor, CombinationPattern import trios import numpy as np import trios.shortcuts.persistence as p import trios.shortcuts.window as w if __name__ == '__main__': np.random.seed(10) # set this to select the same window everytime images = trios.Imageset.read('../jung-images/level1.set') images2 = trios.Imageset.read('../jung-images/level2.set') test = trios.Imageset.read('../jung-images/test.set') domain = np.ones((9, 7), np.uint8) windows = [w.random_win(domain, 40, True) for i in range(5)] ops = [] for i in range(5): op = trios.WOperator(windows[i], SKClassifier(DecisionTreeClassifier()), RAWFeatureExtractor) print('Training...', i) op.train(images) ops.append(op) comb = CombinationPattern(*ops) wop2 = trios.WOperator(comb.window, SKClassifier(DecisionTreeClassifier()), comb) print('Training 2nd level') wop2.train(images2) print('Error', wop2.eval(test))