在线性代数中,优化乘法然后通过将虚拟常量维度附加到输入,然后将整体转换为单个乘法(Wx + b => W'x'
(来优化乘法然后加法的常见运算是很常见的。
在 Tensorflow 中这样做有什么好处吗,或者它会优化它(例如 tf.matmul(...) + b
vs. tf.matmul(...)
(
你所说的不是提高速度、减少内存的优化。这只是缩短数学表达式的一种方式。
- 内存不会减少,因为您无需使用向量
b
,只需在矩阵前面/附加相同大小的b
列即可。 - 即使您不计算在矩阵 W 后附加/预置列所需的操作数,矩阵乘法也会执行更多操作。如果您只是添加一个向量来添加计算为
c_i * x_i
的元素n
b_i
则交易添加
n
元素。在 TF 中执行此操作没有任何好处(就速度/内存而言(,不,TF 本身不会对其进行优化。
如果您更容易阅读和理解那里发生的事情,您可以自由地以这种方式编写它。