2017-07-04 31 views
0

在張量流中,我想在SparseTensor上做tf.ones_like;然而,它似乎只適用於正常(密集)張量。你知道任何功能或解決方法嗎?作爲一個例子,我想從[['aa','ab','ac'],['ba','bb',UND],['ca',UND,UND]到[[1,1,1],[1,1,UND],[1,UND,UND]],其中UND =未定義。tensorflow.ones_like在SparseTensor

謝謝!

+0

稀疏張量是張量爲1的最低效表示。這就是爲什麼稀疏張量沒有'ones_like'。你不能使用正常的稠密張量嗎? –

+0

@ E_net4我可以用密集格式表示張量嗎?[[1,1,1],[1,1]](某些維度中的不同行具有不同的長度)?如果是這樣,怎麼樣? – etal

+0

稀疏張量實際上並不具有可變長度的行,儘管它們可以在任何維度上便宜地擴展。我認爲你應該包括你想要做的一些小的描述,以及一些代碼。 –

回答

0

你可以做兩件事情:

  1. 轉換稀疏到密集,然後創建者張量。類似於tf.ones_like(tf.sparse_tensor_to_dense(x))
  2. 獲得稀疏張量的形狀並使用它來創建一個張量。它看起來像dense_shape does this。然後用那個形狀使用tf.ones
相關問題