2013-11-27 11 views
5

私はs=max(ele, 0)という値をtheanoの行列に見つけることを試みています。 私はtheanoと多くの経験がありません。Theano要素の最大値

これまでのところ私は、これは動作しますが、かなりのものではなく、私はこのためにtheano.tensor.maximumを使用することができるはずと思っ

x = theano.tensor.dmatrix('x') 
s = (x + abs(x))/2 # poor man's trick 
linmax = function([x], s) 

を持っています。 MATLABで

は、私がやりたいし、私はちょうど [email protected](x) max (x, zeros (size (x)))

答えて

8

を書くとこれが私の作品:

import theano.tensor as T 
from theano import function 

x = T.dmatrix('x') 
linmax = function([x], T.maximum(x,0)) 

テスト:

linmax([[-1,-2],[3,4]]) 

出力:

array([[0.,0.],[3.,4.]]) 
+1

注意: 'T.max()'と 'T.maximum()'は等価ではありません。実現するには少し時間がかかりました! –

2

私はこれが

s = x*(x>0) 

数回として実装見てきました。 T.maximum()より速いかどうかは分かりません

関連する問題