Python源码示例:theano.sparse.SparseType()
示例1
def function(self, name=None):
"""
Returns a compiled theano function to compute a representation
Parameters
----------
name : str
WRITEME
Returns
-------
WRITEME
"""
inputs = SparseType('csr', dtype=theano.config.floatX)()
return theano.function([inputs], self(inputs), name=name)
#############################################################################
示例2
def is_sparse(tensor):
return th_sparse_module and isinstance(tensor.type, th_sparse_module.SparseType)
示例3
def test_sparse(self):
if not scipy_imported:
raise SkipTest('Optional package SciPy not installed')
mySymbolicSparseList = TypedListType(
sparse.SparseType('csr', theano.config.floatX))()
mySymbolicSparse = sparse.csr_matrix()
z = Index()(mySymbolicSparseList, mySymbolicSparse)
f = theano.function([mySymbolicSparseList, mySymbolicSparse], z)
x = sp.csr_matrix(random_lil((10, 40), theano.config.floatX, 3))
y = sp.csr_matrix(random_lil((10, 40), theano.config.floatX, 3))
self.assertTrue(f([x, y], y) == 1)
示例4
def test_sparse(self):
if not scipy_imported:
raise SkipTest('Optional package SciPy not installed')
mySymbolicSparseList = TypedListType(
sparse.SparseType('csr', theano.config.floatX))()
mySymbolicSparse = sparse.csr_matrix()
z = Count()(mySymbolicSparseList, mySymbolicSparse)
f = theano.function([mySymbolicSparseList, mySymbolicSparse], z)
x = sp.csr_matrix(random_lil((10, 40), theano.config.floatX, 3))
y = sp.csr_matrix(random_lil((10, 40), theano.config.floatX, 3))
self.assertTrue(f([x, y, y], y) == 2)
示例5
def is_sparse(tensor):
return th_sparse_module and isinstance(tensor.type, th_sparse_module.SparseType)
示例6
def test_sparse(self):
if not scipy_imported:
raise SkipTest('Optional package SciPy not installed')
mySymbolicSparseList = TypedListType(
sparse.SparseType('csr', theano.config.floatX))()
mySymbolicSparse = sparse.csr_matrix()
z = Index()(mySymbolicSparseList, mySymbolicSparse)
f = theano.function([mySymbolicSparseList, mySymbolicSparse], z)
x = sp.csr_matrix(random_lil((10, 40), theano.config.floatX, 3))
y = sp.csr_matrix(random_lil((10, 40), theano.config.floatX, 3))
self.assertTrue(f([x, y], y) == 1)
示例7
def test_sparse(self):
if not scipy_imported:
raise SkipTest('Optional package SciPy not installed')
mySymbolicSparseList = TypedListType(
sparse.SparseType('csr', theano.config.floatX))()
mySymbolicSparse = sparse.csr_matrix()
z = Count()(mySymbolicSparseList, mySymbolicSparse)
f = theano.function([mySymbolicSparseList, mySymbolicSparse], z)
x = sp.csr_matrix(random_lil((10, 40), theano.config.floatX, 3))
y = sp.csr_matrix(random_lil((10, 40), theano.config.floatX, 3))
self.assertTrue(f([x, y, y], y) == 2)
示例8
def is_sparse(tensor):
return th_sparse_module and isinstance(tensor.type, th_sparse_module.SparseType)
示例9
def is_sparse(tensor):
return th_sparse_module and isinstance(tensor.type, th_sparse_module.SparseType)
示例10
def is_sparse(tensor):
return th_sparse_module and isinstance(tensor.type, th_sparse_module.SparseType)
示例11
def is_sparse(tensor):
return th_sparse_module and isinstance(tensor.type, th_sparse_module.SparseType)
示例12
def is_sparse(tensor):
return th_sparse_module and isinstance(tensor.type, th_sparse_module.SparseType)
示例13
def is_sparse(tensor):
return th_sparse_module and isinstance(tensor.type, th_sparse_module.SparseType)
示例14
def is_sparse(tensor):
return th_sparse_module and isinstance(tensor.type, th_sparse_module.SparseType)
示例15
def function(self, name=None, repr_index=-1, sparse_input=False):
"""
Compile a function computing representations on given layers.
Parameters
----------
name : string, optional
name of the function
repr_index : int, optional
Index of the hidden representation to return.
0 means the input, -1 the last output.
sparse_input : bool, optional
WRITEME
Returns
-------
WRITEME
"""
if sparse_input:
inputs = SparseType('csr', dtype=theano.config.floatX)()
else:
inputs = tensor.matrix()
return theano.function(
[inputs],
outputs=self(inputs)[repr_index],
name=name)
示例16
def function(self, name=None):
"""
Returns a compiled theano function to compute a representation
Parameters
----------
name : str
WRITEME
"""
inputs = SparseType('csr', dtype=theano.config.floatX)()
return theano.function([inputs], self(inputs), name=name)
示例17
def is_sparse(tensor):
return th_sparse_module and isinstance(tensor.type, th_sparse_module.SparseType)
示例18
def is_sparse(tensor):
return th_sparse_module and isinstance(tensor.type, th_sparse_module.SparseType)
示例19
def test_sparse_input_aliasing_affecting_inplace_operations(self):
##
# Note this test will never fail because I am not aware of any
# inplace op on sparse variables
try:
import scipy.sparse as sp
except ImportError:
# The variable enable_sparse will be used to disable the test file.
pass
from theano.sparse import enable_sparse
if not enable_sparse:
raise SkipTest('Optional package sparse disabled')
from theano import sparse
# Note: to trigger this bug with theano rev 4586:2bc6fc7f218b,
# you need to make in inputs mutable (so that inplace
# operations are used) and to break the elemwise composition
# with some non-elemwise op (here dot)
x = sparse.SparseType('csc', dtype='float64')()
y = sparse.SparseType('csc', dtype='float64')()
f = theano.function([theano.In(x, mutable=True),
theano.In(y, mutable=True)],
(x + y) + (x + y))
# Test 1. If the same variable is given twice
# Compute bogus values
m = sp.csc_matrix(numpy.asarray(
[[1, 0, 0, 0, 0],
[0, 1, 0, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 1, 0],
[0, 0, 0, 0, 1]], dtype='float64'))
bogus_vals = f(m, m)
# Since we used inplace operation v and m may be corrupted
# so we need to recreate them
m = sp.csc_matrix(numpy.asarray(
[[1, 0, 0, 0, 0],
[0, 1, 0, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 1, 0],
[0, 0, 0, 0, 1]], dtype='float64'))
m_copy = m.copy()
vals = f(m, m_copy)
assert numpy.allclose(vals.todense(), bogus_vals.todense())
示例20
def test_sparse_input_aliasing_affecting_inplace_operations(self):
##
# Note this test will never fail because I am not aware of any
# inplace op on sparse variables
try:
import scipy.sparse as sp
except ImportError:
# The variable enable_sparse will be used to disable the test file.
pass
from theano.sparse import enable_sparse
if enable_sparse == False:
raise SkipTest('Optional package sparse disabled')
from theano import sparse
# Note: to trigger this bug with theano rev 4586:2bc6fc7f218b,
# you need to make in inputs mutable (so that inplace
# operations are used) and to break the elemwise composition
# with some non-elemwise op (here dot)
x = sparse.SparseType('csc', dtype='float64')()
y = sparse.SparseType('csc', dtype='float64')()
f = theano.function([theano.In(x, mutable=True),
theano.In(y, mutable=True)],
(x + y) + (x + y))
# Test 1. If the same variable is given twice
# Compute bogus values
m = sp.csc_matrix(numpy.asarray(
[[1, 0, 0, 0, 0],
[0, 1, 0, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 1, 0],
[0, 0, 0, 0, 1]], dtype='float64'))
bogus_vals = f(m, m)
# Since we used inplace operation v and m may be corrupted
# so we need to recreate them
m = sp.csc_matrix(numpy.asarray(
[[1, 0, 0, 0, 0],
[0, 1, 0, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 1, 0],
[0, 0, 0, 0, 1]], dtype='float64'))
m_copy = m.copy()
vals = f(m, m_copy)
assert numpy.allclose(vals.todense(), bogus_vals.todense())