TensorFlow 中的identity 函式

2021-09-24 03:37:04 字數 856 閱讀 5414

identity:

n.身份; 本身; 本體; 特徵; 特有的感覺(或信仰); 同一性; 相同; 一致;

identity的意思是自身的意思,簡單說就是賦值。

x = tf.variable(0.0)

y=x和下面的:

x = tf.variable(0.0)

y=tf.identity(x)

的區別在於,x是tensor型別,直接利用=只是拷貝記憶體,而y不會作為乙個tensor在圖**現,(應該

是=不能過載的原因,所以需要我們呼叫函式來實現某些功能。)

如果希望y成為乙個tensor出現在圖中,=的右邊必須是乙個op,而遺憾的x是乙個tensor,所以

需要利用tf.identity來告訴告訴編譯器,y可以是乙個和x一樣的tensor。

至於使用場景:很多with tf.control_dependencies([list]):中的**必須是tensor才能執行,當然也有

一些其他的使用場景。下面是個別人給的小栗子:

x = tf.variable(1.0)

y = tf.variable(0.0)

x_plus_1 = tf.assign_add(x, 1)

with tf.control_dependencies([x_plus_1]):

y = x

init = tf.initialize_all_variables()

with tf.session() as session:

init.run()

for i in xrange(5):

print(y.eval())

結果:1.1.1.1.1

而更換後變成:2,3,4,5,6

Kotlin在IDE中的整合

kotlin已成為android官方語言,將在android studio 3.0中預設整合。作為一門語法糖,很有必要學習一下 工欲善其事必先利其器,選擇一款ide可謂事半功倍 1.1.help eclipse marketplace 搜尋kotlin 2.kotlin在android studio...

Jetbrain系IDE中的Git Merge操作

之前大多數是單人開發,少有多人協同使用乙個git倉庫,僅有的幾次也因為成員提交次數不多,沒有出現 衝突的情況,如今實際操作後意識到了merge的重要性。實踐經歷 我與a同時在開發乙個前端專案,我想push時發現遠端倉庫中的 已經被a更新了,直接push會失敗,需要merge操作。git merge命...

Tensorflow中的Lazy load問題

用tensorflow訓練或者inference模型的時候,有時候會遇到執行越來越慢,最終記憶體被佔滿,導致電腦宕機的問題,我們稱之為記憶體溢位。出現這種問題很可能是因為在乙個session中,graph迴圈建立重複的節點所導致的lazy load問題。舉個例子,用tensorflow迴圈做多次加法...