使用tf.shape(tf.where(condition))作为循环的绑定

时间:2019-06-12 09:48:55

标签: python tensorflow deep-learning tensor

我想在tycharm中使用Tensorflow将tf.where的形状(大小)用于for循环的边界。但是,当我尝试执行此操作时,出现错误:'Tensor'对象无法解释为整数。

我该如何解决这个问题?

开发内容。
1.在数据中找到与阈值相对应的索引(idxCut)。
2.检查与idxCut对应的数据是否为TPR。

我想使用for循环在数据中找到关于idxCut的TPR(转折点比率)。
我使用了for循环来获取idx,idx-1和idx + 1之间的TPR。
我想查找data [idx]高于其他data [idx-1,idx + 1]。

这是我的代码:

def funCalculate(data):
    ### Cut-off Threshold
    idxCut = tf.where(data > cutoff)
    idxCut = tf.squeeze(idxCut)

    ### Compute by the size of idxCut
    valueCut = []
    for ii in range(0, tf.shape(idxCut)):
        v1 = tf.where(data[idxCut[ii]] > data[idxCut[ii] - 1], 1, 0)
        v2 = tf.where(data[idxCut[ii]] > data[idxCut[ii] + 1], 1, 0)
        v3 = tf.where(v1 + v2 > 1, 1, 0)
        valueCut.append(v3)
    return valueCut

0 个答案:

没有答案