tf计算矩阵维度_tf.nn.xw_plus_b

本文介绍了 TensorFlow 中的 `tf.nn.xw_plus_b` 函数,用于计算 `X * W + b`。该函数接受输入矩阵 `x`,权重矩阵 `weights` 和偏置 `biases`,分别对应 [batch_size, in_units]、[in_units, out_units] 和 [out_units] 的维度。等价于 `tf.matmul(x, weights) + biases`。`x` 可以是网络上一层的输出或其他组合。该 API 在各种需要矩阵乘法加偏置的场景中适用。" 11319049,1733351,FPGA时序问题解决实战,"['FPGA时序分析', '同源时钟', 'FPGA设计', '时钟管理']
摘要由CSDN通过智能技术生成

官方链接

tf.nn.xw_plus_b(
    x,
    weights,
    biases,
    name=None
)

主要的功能就是算X*W+b这个函数

  • x:输入的矩阵,一般是网络结构上一层的输出,维度为[batch_size, in_units]表示输入的样本数*每个样本用多少个单元表示
  • weights: x的权重矩阵,一般都是可训练的。维度为[in_units, out_units]。注意的是第一个维度要和x的最后一个维度一样,因为需要和x进行矩阵相乘的计算
  • biases:偏置。维度为一维,[out_units],注意和weights的最后一维一致,因为最终要加在XW的结果矩阵上。而X*W矩阵的维度为[batch_size, out_units]

该api等价于tf.matmul(X_inputs, weights) + Bias操作。下面的代码片段也验证了确实等价:

import tensorflow as tf

X_inputs = tf.constant(
    value=[[1, 2, 3, 4, 5], [2, 3, 4, 5, 6], [3, 4, 5, 6, 7]], dtype=tf.float64,
    shape=[3, 5])
weights = tf.constant(
    value=[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
           [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0],
           [0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1],
           [2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
           [0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2]],
    dtype=tf.float64,
    shape=[5, 10])
Bias = tf.constant(value=[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0],
                   dtype=tf.float64,
                   shape=[10])

logits1 = tf.nn.xw_plus_b(x=X_inputs, weights=weights, biases=Bias)
logits2 = tf.matmul(X_inputs, weights) + Bias

with tf.Session() as sess:
    print('-------logits1------------')
    print(sess.run(logits1))
    print('-------logits2------------')
    print(sess.run(logits2))

26ef06423d3ce784feb7e9e0a5cbf2c9.png

计算过程比较简单这里不再赘述了。

想说说这个api的使用场景。其实这个api可以使用在很多地方,只要是有x*w+b的形式的都可以使用。主要是x的变化,可以是上一层网络的输出,可以是几层网络的拼接等等

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值