我是tensorflow的新手,所以这可能是一个简单的问题,但它真的让我感到困惑
我想通过keras实现这个paper,背景是tensorflow
在训练的第一阶段,他使用<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.css" rel="stylesheet" />
<a href="" id="upload" class="button">
<i class="fa fa-cloud-upload fa-lg fa-align-center" aria-hidden="true"></i>
</a>
<a href="" id="view" class="button">
<i class="fa fa-eye fa-lg fa-align-center" aria-hidden="true"></i>
</a>
如果我们从最后一个fc得到这个输出
vertical是批量大小,这是NoneType
softmax_pair
我们做指数,所以我们有
x11 x12 x13 x14...
x21 x22 x23 x24...
x31 x32 x33 x34...
...
然后,我被困在这里
e11 e12 e13 e14...
e21 e22 e23 e24...
e31 e32 e33 e34...
...
我不知道怎么做成对添加
e11/(e11+e12) e12/(e11+e12) e13/(e13+e14) e14/(e13+e14)...
e21/(e21+e22) e22/(e21+e22) e23/(e23+e24) e24/(e23+e24)...
e31/(e31+e32) e32/(e31+e32) e33/(e33+e34) e34/(e33+e34)...
...
和tf.transpose
可能会很棒
但经过研究,我发现转置很昂贵
更进一步,在tf.segment_sum
之后我只有一半的张量,
我不知道如何加倍它
哦,我正在考虑如何生成segment_ids
那我该如何计算呢? 谢谢!!
----------更新
我在论文中谈到的部分是图3
fc输出为P2c-1和P2c,这是c类出现或不出现在图像中的平均可能性
c = 1,2,3 ......类的数量
转置不贵吗?有时我会看到这个,例如。 the comment,也许我误解了这个?
答案 0 :(得分:0)
假设X
是你的张量大小R x C
:
_, C = X.get_shape()
X_split = tf.split(1, C/2, X)
Y_split = [tf.nn.softmax(slice) for slice in X_split]
Y = tf.concat(1, Y_split)
C
将是列数,X_split
将是一个子列表列表,每个子列有两列,Y_split
将计算每个张量的常规softmax,{{ 1}}将加入softmaxes的结果。