[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