[opengm] 212/386: added new dataset to python

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Wed Aug 31 08:37:51 UTC 2016


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch debian/master
in repository opengm.

commit 543d9e519108b2d1a1ed24b6cbe2224ac56a8ac5
Author: DerThorsten <thorsten.beier at iwr.uni-heidelberg.de>
Date:   Sun Jan 11 14:27:20 2015 +0100

    added new dataset to python
---
 fubar/toy_dataset.py | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 91 insertions(+)

diff --git a/fubar/toy_dataset.py b/fubar/toy_dataset.py
new file mode 100644
index 0000000..8f95fe0
--- /dev/null
+++ b/fubar/toy_dataset.py
@@ -0,0 +1,91 @@
+import numpy
+import opengm
+from opengm import learning
+import vigra
+from progressbar import *
+import glob
+import os
+from functools import partial
+from make_grid_potts_dset import secondOrderImageDataset, getPbar
+
+
+
+nImages = 15 
+shape = [30, 30]
+noise = 1
+imgs = []
+gts = []
+
+
+for i in range(nImages):
+
+    gtImg = numpy.zeros(shape)
+    gtImg[0:shape[0]/2,:] = 1
+
+    gtImg[shape[0]/4: 3*shape[0]/4, shape[0]/4: 3*shape[0]/4]  = 2
+
+
+    img = gtImg + numpy.random.random(shape)*float(noise)
+
+    if i == 1000 :
+        vigra.imshow(img)
+        vigra.show()
+    imgs.append(img.astype('float32'))
+    gts.append(gtImg)
+
+
+
+
+
+
+
+def getSelf(img):
+    return img
+
+
+fUnary = [
+    getSelf,
+    partial(vigra.filters.gaussianSmoothing, sigma=1.0),
+    partial(vigra.filters.gaussianSmoothing, sigma=1.5),
+    partial(vigra.filters.gaussianSmoothing, sigma=2.0),
+    partial(vigra.filters.gaussianSmoothing, sigma=3.0)
+]
+
+fBinary = [
+    partial(vigra.filters.gaussianGradientMagnitude, sigma=1.0),
+    partial(vigra.filters.gaussianGradientMagnitude, sigma=1.5),
+    partial(vigra.filters.gaussianGradientMagnitude, sigma=2.0),
+    partial(vigra.filters.gaussianGradientMagnitude, sigma=3.0),
+]
+
+
+dataset,test_set = secondOrderImageDataset(imgs=imgs, gts=gts, numberOfLabels=3, 
+                                          fUnary=fUnary, fBinary=fBinary, 
+                                          addConstFeature=False)
+
+
+
+
+learner =  learning.subgradientSSVM(dataset, learningRate=0.05, C=100, 
+                                    learningMode='batch',maxIterations=10000)
+
+#learner = learning.structMaxMarginLearner(dataset, 0.1, 0.001, 0)
+
+
+learner.learn(infCls=opengm.inference.TrwsExternal, 
+              redInf=True,
+              parameter=opengm.InfParam())
+
+
+
+# predict on test test
+for (rgbImg, gtImg, gm) in test_set :
+    # infer for test image
+    inf = opengm.inference.TrwsExternal(gm)
+    inf.infer()
+    arg = inf.arg()
+    arg = arg.reshape( numpy.squeeze(gtImg.shape))
+
+    vigra.imshow(arg+2)
+    vigra.show()
+

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/opengm.git



More information about the debian-science-commits mailing list