发新帖

tensorflow基础问题

[复制链接]
624 7

快来加入 TensorFlowers 大家庭!

您需要 登录 才可以下载或查看,没有帐号?加入社区

x
a=(batch_size,)与b=(batch_size,1)在计算时有什么区别,当我在计算两个值a ,b两个值得欧氏距离时,该采用a的格式还是b的格式?
yunhai_luo已获得悬赏 10 金币+10 金币

最佳答案

a和b的维度不一样(a是一维,b是二维),显然计算时区别很大。 关于计算距离,严格来说,楼主没说明想要计算哪一维度的距离,应该是没法回答的。一般来讲,首先是不要混用两种不同维度。其次,楼主说了是batch_size ...
本楼点评(0) 收起

精彩评论7

ZMikkelsen  TF荚荚  发表于 2018-6-8 09:55:14 | 显示全部楼层
就按一个1的事,你要觉得可能出问题就加上,有那么难嘛
本楼点评(0) 收起
yunhai_luo  TF豆豆  发表于 2018-6-8 13:48:06 | 显示全部楼层
a和b的维度不一样(a是一维,b是二维),显然计算时区别很大。

关于计算距离,严格来说,楼主没说明想要计算哪一维度的距离,应该是没法回答的。一般来讲,首先是不要混用两种不同维度。其次,楼主说了是batch_size,所以大胆假定楼主是想要一批中的每个样本分别独立计算距离,并且最后想要得到一阶张量。那么两种维度都是可以计算的:
1. 一阶张量:tf.sqrt(tf.square(tf.subtract(a, a_)))
2. 二阶张量:tf.sqrt(tf.reduce_sum(tf.square(tf.subtract(a, a_)), 1))

再往下说,计算距离的一个应用时比较预测结果和真实值之间的差距,而来源于神经网络的预测结果很可能是二维的(批次中的样本独立计算),也就是得到的了楼主所谓的b=(batch_size,1),这种情况下,一般自定义计算距离需要真实值输入也是二维的,并且用二维的方法计算距离。

本楼点评(0) 收起
Assam  TF荚荚  发表于 2018-6-8 14:10:03 | 显示全部楼层
yunhai_luo 发表于 2018-6-8 13:48
a和b的维度不一样(a是一维,b是二维),显然计算时区别很大。

关于计算距离,严格来说,楼主没说明想要计 ...

b是经过网络的输出,a是原始标签。我想计算两者之间的欧氏距离的话,是应该用一阶张量吧?
本楼点评(3) 收起
  • yunhai_luo这个我不知道,只有你自己知道。我只能提两个问题供参考,第一,你需不需要a和b同阶。第二,你需要的结果是一个数、一个向量还是什么形状。
    2018-6-8 15:28 回复
  • Assam回复 yunhai_luo :嗯嗯,我在思考下,真是太感谢你了
    2018-6-8 20:52 回复
  • yunhai_luo不客气。
    2018-6-8 21:47 回复
neverchange  TF豆豆  发表于 2018-7-3 16:59:21 | 显示全部楼层
从格式上可以看出维度不同,其他的不能确定。
本楼点评(0) 收起
ViolinSolo  TF芽芽  发表于 2018-7-3 20:13:01 | 显示全部楼层
本帖最后由 ViolinSolo 于 2018-7-5 00:06 编辑

其实没什么区别,,就类似于reduce mean和reduce sum一样,,感觉能相互转化哈哈哈
本楼点评(0) 收起
ves  TF荚荚  发表于 2018-7-4 21:09:25 | 显示全部楼层
ab格式要统一
本楼点评(0) 收起
kdongyi  TF荚荚  发表于 2018-7-15 17:22:08 | 显示全部楼层
其实两个实质是一样的
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

主题

帖子

15

积分
快速回复 返回顶部 返回列表