Tensorflow broadcast 广播机制
生活随笔
收集整理的這篇文章主要介紹了
Tensorflow broadcast 广播机制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
針對多維情況,需要保證維度一致性,舉個栗子:
需要對保證除需廣播的維度以外其余所有維度均相等即可
舉個栗子
import tensorflow as tf a = tf.random_normal([1,2,3]) b = tf.random_normal([1,2]) d = a*b with tf.Session() as sess:print(sess.run(d))當代碼段如上時,報錯維度不一致
原因,雖然a和b的前兩個維度一致,但b缺少了第3個維度,無法廣播
再來看正確的廣播方式
import tensorflow as tf a = tf.random_normal([1,2,3]) b = tf.random_normal([1,2]) c = b[...,tf.newaxis] e = a*c with tf.Session() as sess:print(sess.run(e))成功輸出結果
這里是因為c增加了第三個維度,使得只有在廣播的維度(第三維度)上二者不同,因此可以成功應用廣播。
參考TensorFlow 和 NumPy 的 Broadcasting 機制探秘 - 簡書
總結
以上是生活随笔為你收集整理的Tensorflow broadcast 广播机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Involution代码
- 下一篇: 哭了,复现TensorFlow版本MAE