簡體   English   中英

使用Tensorflow進行Numpy索引操作

[英]Numpy Indexing Operations with Tensorflow

我想更新張量的值,如:

ldream[w,:,x,y,z] = 0

但不斷收到錯誤說:

TypeError: 'Tensor' object does not support item assignment

似乎ldream是一個tensorflow變量,遺憾的是它不能像numpy數組那樣直接賦值。

要更新張量流中的張量值,可以進行賦值操作,然后運行(eval)該操作。 以下是如何執行此操作的示例:

Tensorflow:如何修改張量值

這樣做的原因是當你編寫你的tf變量和操作時,你實際上是“暫存”它們以后發生(例如當你做sess.run ); 就像tensorflow實際運行的藍圖一樣。

通過使用numpy數組創建布爾掩碼來解決此問題:

ldream_mask = np.zeros(ldream.shape, dtype=np.bool)

然后選擇所需的索引並將其標記為True

ldream_mask[w,:,x,y,z] =  True

然后使用tf.where使用ldream_mask更新所需的索引

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM