codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
import scipy import scipy.sparse import time if __name__ == '__main__': zero_frac = 0.95 C = (scipy.rand(100000,400) > zero_frac).astype(scipy.int16) T = scipy.rand(400) # does not sum to one but whatever C_sparse = scipy.sparse.coo_matrix(C) sp_coords = C_sparse.nonzero() sp_data = C_sparse.data start_time = time.time() lik_dense = scipy.prod(T ** C, 1) print('Time dense: %f,' % (time.time() - start_time)) start_time = time.time() log_results = scipy.log(T[sp_coords[1]] ** sp_data); lik_sparse = scipy.exp(scipy.sparse.csr_matrix((log_results, sp_coords), shape=C_sparse.shape).sum(1)) print('Time sparse: %f,' % (time.time() - start_time)) print lik_dense[:10] print lik_sparse[:10]
Private
[
?
]
Run code
Submit