提交 fc40a93c authored 作者: Hengjean's avatar Hengjean

Added interface for insert, remove and reverse.

上级 687de47f
......@@ -18,6 +18,15 @@ class _typed_list_py_operators:
def extend(self, toAppend):
return Extend()(self, toAppend)
def insert(self, index, toInsert):
return Insert()(self, index, toInsert)
def remove(self, toRemove):
return Remove()(self, toRemove)
def reverse(self):
return Reverse()(self)
ttype = property(lambda self: self.type.ttype)
......
......@@ -245,6 +245,22 @@ class test_insert(unittest.TestCase):
self.assertTrue(numpy.array_equal(f([x], numpy.asarray(1), y), [x, y]))
def test_interface(self):
mySymbolicMatricesList = TypedListType(T.TensorType(
theano.config.floatX, (False, False)))()
myMatrix = T.matrix()
myScalar = T.scalar()
z = mySymbolicMatricesList.insert(myScalar, myMatrix)
f = theano.function([mySymbolicMatricesList, myScalar, myMatrix], z)
x = rand_ranged_matrix(-1000, 1000, [100, 101])
y = rand_ranged_matrix(-1000, 1000, [100, 101])
self.assertTrue(numpy.array_equal(f([x], numpy.asarray(1), y), [x, y]))
class test_remove(unittest.TestCase):
......@@ -279,6 +295,21 @@ class test_remove(unittest.TestCase):
self.assertTrue(numpy.array_equal(f([x, y], y), [x]))
def test_interface(self):
mySymbolicMatricesList = TypedListType(T.TensorType(
theano.config.floatX, (False, False)))()
myMatrix = T.matrix()
z = mySymbolicMatricesList.remove(myMatrix)
f = theano.function([mySymbolicMatricesList, myMatrix], z)
x = rand_ranged_matrix(-1000, 1000, [100, 101])
y = rand_ranged_matrix(-1000, 1000, [100, 101])
self.assertTrue(numpy.array_equal(f([x, y], y), [x]))
class test_reverse(unittest.TestCase):
......@@ -310,3 +341,17 @@ class test_reverse(unittest.TestCase):
y = rand_ranged_matrix(-1000, 1000, [100, 101])
self.assertTrue(numpy.array_equal(f([x, y]), [y, x]))
def test_interface(self):
mySymbolicMatricesList = TypedListType(T.TensorType(
theano.config.floatX, (False, False)))()
z = mySymbolicMatricesList.reverse()
f = theano.function([mySymbolicMatricesList], z)
x = rand_ranged_matrix(-1000, 1000, [100, 101])
y = rand_ranged_matrix(-1000, 1000, [100, 101])
self.assertTrue(numpy.array_equal(f([x, y]), [y, x]))
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论