提交 e4904c8c authored 作者: Amjad Almahairi's avatar Amjad Almahairi

flake8 fixes

上级 246f740d
...@@ -192,6 +192,7 @@ class MultinomialFromUniform(Op): ...@@ -192,6 +192,7 @@ class MultinomialFromUniform(Op):
z[0][n, m] += 1 z[0][n, m] += 1
break break
class WeightedSelectionFromUniform(Op): class WeightedSelectionFromUniform(Op):
""" """
Converts samples from a uniform into sample from a multinomial. Converts samples from a uniform into sample from a multinomial.
...@@ -235,11 +236,11 @@ class WeightedSelectionFromUniform(Op): ...@@ -235,11 +236,11 @@ class WeightedSelectionFromUniform(Op):
if n_samples > pvals.shape[1]: if n_samples > pvals.shape[1]:
raise ValueError("Cannot sample without replacement n samples bigger " raise ValueError("Cannot sample without replacement n samples bigger "
"than the size of the distribution.") "than the size of the distribution.")
if unis.shape[0] != pvals.shape[0] * n_samples: if unis.shape[0] != pvals.shape[0] * n_samples:
raise ValueError("unis.shape[0] != pvals.shape[0] * n_samples", raise ValueError("unis.shape[0] != pvals.shape[0] * n_samples",
unis.shape[0], pvals.shape[0], n_samples) unis.shape[0], pvals.shape[0], n_samples)
if z[0] is None or not numpy.all(z[0].shape == [pvals.shape[0], n_samples]): if z[0] is None or not numpy.all(z[0].shape == [pvals.shape[0], n_samples]):
z[0] = -1 * numpy.ones((pvals.shape[0], n_samples), dtype='int') z[0] = -1 * numpy.ones((pvals.shape[0], n_samples), dtype='int')
...@@ -251,7 +252,7 @@ class WeightedSelectionFromUniform(Op): ...@@ -251,7 +252,7 @@ class WeightedSelectionFromUniform(Op):
for c in range(n_samples): for c in range(n_samples):
for n in range(nb_multi): for n in range(nb_multi):
cummul = 0 cummul = 0
unis_n = unis[c*nb_multi+n] unis_n = unis[c * nb_multi + n]
for m in range(nb_outcomes): for m in range(nb_outcomes):
cummul += pvals[n, m] cummul += pvals[n, m]
if (cummul > unis_n): if (cummul > unis_n):
...@@ -261,6 +262,7 @@ class WeightedSelectionFromUniform(Op): ...@@ -261,6 +262,7 @@ class WeightedSelectionFromUniform(Op):
pvals[n] /= pvals[n].sum() pvals[n] /= pvals[n].sum()
break break
class GpuMultinomialFromUniform(MultinomialFromUniform, GpuOp): class GpuMultinomialFromUniform(MultinomialFromUniform, GpuOp):
""" """
The output is transposed compared to MultinomialFromUniform. The output is transposed compared to MultinomialFromUniform.
......
import numpy import numpy
import theano
from theano import config, function, tensor from theano import config, function, tensor
from theano.sandbox import multinomial from theano.sandbox import multinomial
from theano.sandbox.rng_mrg import MRG_RandomStreams as RandomStreams from theano.sandbox.rng_mrg import MRG_RandomStreams as RandomStreams
import unittest import unittest
class test_OP(unittest.TestCase): class test_OP(unittest.TestCase):
def test_select_distinct(self): def test_select_distinct(self):
...@@ -22,7 +22,7 @@ class test_OP(unittest.TestCase): ...@@ -22,7 +22,7 @@ class test_OP(unittest.TestCase):
numpy.random.seed(12345) numpy.random.seed(12345)
for i in [5, 10, 50, 100, 500, n_elements]: for i in [5, 10, 50, 100, 500, n_elements]:
uni = numpy.random.rand(i).astype(config.floatX) uni = numpy.random.rand(i).astype(config.floatX)
pvals = numpy.random.randint(1,100,(1,n_elements)).astype(config.floatX) pvals = numpy.random.randint(1, 100, (1, n_elements)).astype(config.floatX)
pvals /= pvals.sum(1) pvals /= pvals.sum(1)
res = f(pvals, uni, i) res = f(pvals, uni, i)
res = numpy.squeeze(res) res = numpy.squeeze(res)
...@@ -45,7 +45,7 @@ class test_OP(unittest.TestCase): ...@@ -45,7 +45,7 @@ class test_OP(unittest.TestCase):
n_selected = 200 n_selected = 200
numpy.random.seed(12345) numpy.random.seed(12345)
uni = numpy.random.rand(n_selected).astype(config.floatX) uni = numpy.random.rand(n_selected).astype(config.floatX)
pvals = numpy.random.randint(1,100,(1,n_elements)).astype(config.floatX) pvals = numpy.random.randint(1, 100, (1, n_elements)).astype(config.floatX)
pvals /= pvals.sum(1) pvals /= pvals.sum(1)
self.assertRaises(ValueError, f, pvals, uni, n_selected) self.assertRaises(ValueError, f, pvals, uni, n_selected)
...@@ -65,7 +65,7 @@ class test_OP(unittest.TestCase): ...@@ -65,7 +65,7 @@ class test_OP(unittest.TestCase):
n_selected = 10 n_selected = 10
mean_rtol = 0.04 mean_rtol = 0.04
numpy.random.seed(12345) numpy.random.seed(12345)
pvals = numpy.random.randint(1,100,(1,n_elements)).astype(config.floatX) pvals = numpy.random.randint(1, 100, (1, n_elements)).astype(config.floatX)
pvals /= pvals.sum(1) pvals /= pvals.sum(1)
avg_pvals = numpy.zeros((n_elements,)) avg_pvals = numpy.zeros((n_elements,))
...@@ -95,7 +95,7 @@ class test_function(unittest.TestCase): ...@@ -95,7 +95,7 @@ class test_function(unittest.TestCase):
n_elements = 1000 n_elements = 1000
numpy.random.seed(12345) numpy.random.seed(12345)
for i in [5, 10, 50, 100, 500, n_elements]: for i in [5, 10, 50, 100, 500, n_elements]:
pvals = numpy.random.randint(1,100,(1,n_elements)).astype(config.floatX) pvals = numpy.random.randint(1, 100, (1, n_elements)).astype(config.floatX)
pvals /= pvals.sum(1) pvals /= pvals.sum(1)
res = f(pvals, i) res = f(pvals, i)
res = numpy.squeeze(res) res = numpy.squeeze(res)
...@@ -118,7 +118,7 @@ class test_function(unittest.TestCase): ...@@ -118,7 +118,7 @@ class test_function(unittest.TestCase):
n_elements = 100 n_elements = 100
n_selected = 200 n_selected = 200
numpy.random.seed(12345) numpy.random.seed(12345)
pvals = numpy.random.randint(1,100,(1,n_elements)).astype(config.floatX) pvals = numpy.random.randint(1, 100, (1, n_elements)).astype(config.floatX)
pvals /= pvals.sum(1) pvals /= pvals.sum(1)
self.assertRaises(ValueError, f, pvals, n_selected) self.assertRaises(ValueError, f, pvals, n_selected)
...@@ -139,7 +139,7 @@ class test_function(unittest.TestCase): ...@@ -139,7 +139,7 @@ class test_function(unittest.TestCase):
n_selected = 10 n_selected = 10
mean_rtol = 0.04 mean_rtol = 0.04
numpy.random.seed(12345) numpy.random.seed(12345)
pvals = numpy.random.randint(1,100,(1,n_elements)).astype(config.floatX) pvals = numpy.random.randint(1, 100, (1, n_elements)).astype(config.floatX)
pvals /= pvals.sum(1) pvals /= pvals.sum(1)
avg_pvals = numpy.zeros((n_elements,)) avg_pvals = numpy.zeros((n_elements,))
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论