计算张量中每个元素相对于另一个张量的最小距离

时间:2016-11-12 00:23:44

标签: python python-3.x tensorflow

使用张量流,我试图计算张量相对于已知集的损失。

下式给出:

targets = [[.1,.2,.3],[.3,.2,.1],[.5,.3,.5],[.5,.5,.5],[.6,.8.,9]]
guesses = [[.5,.5,.5],[.3,.3,.4],[.5,.6,.4]]

我想回来:

[0.0, 0.0499, 0.02]

我可以通过以下方式找到每次猜测的值:

for i in range(guesses):
    tf.reduce_min(tf.reduce_sum(tf.square(targets - guesses[i]),1))

是否存在张量流函数,可以更有效地计算值?

2 个答案:

答案 0 :(得分:1)

类似的东西:

$time1= date( "H:i", strtotime( $row->find('td',0)->plaintext ) );
$time2= date( "H:i", strtotime( $row->find('td',1)->plaintext ) );

答案 1 :(得分:0)

有大致的方法来运行此计算。两种经典方式是谱聚类和K均值聚类。它们分别解决了两个问题:1)你有大尺寸的向量,2)你有大量的目标。它们可以组合,并通过使用神经网络进行推广。两者都应该在tensorflow中表达。

在谱聚类中,您可以找到输入向量的低维逼近,然后在那里进行完整的穷举搜索。

在K-means聚类中,您会发现较少数量的目标(称为质心),它们是目标聚类的“代表”。你对质心进行了详尽的搜索。然后对与质心关联的目标运行另一次搜索,忽略所有其他目标。因此,如果您有100个质心,则将计算量减少100倍。如果您将问题视为完全连接的二分图,则等于添加具有树结构的图层。

注意:在上面的问题中,您可以使用张量操作更改猜测循环。