2017-01-28 45 views

回答

4

是的,有純tensorflow功能的方法:

a = tf.Variable([0.235, 0.213, 1006.0, 0, 0, 0, 0, 77, 0,234.0]) 
session = tf.Session() 
initialiser_op = tf.global_variables_initializer() 
session.run(initialiser_op) 
a_without_zeroes = tf.boolean_mask(a, tf.not_equal(a, 0)) 

tf.py_func是另一種解決方案,使其與numpy的工作,但我期望的缺點相比純辦法,主要是你不會得到梯度計算等(在graphdef中沒有序列化,沒有分佈式,沒有gpu ?,可能性能較差?)

+0

謝謝,這絕對是我正在尋找的答案。是否保證在使用純張量流時,您將能夠進行梯度計算? – Vasilis

+0

我想大多數數學運算都會有一個定義的漸變,如果不是這樣的話,你可以在github上請求它。但我會期待一些操作,其中漸變不是有意義的(例如從圖像中提取補丁,或者加載文件...) – Evariste