你好!有没有办法在不使用eval的情况下将Tensor修改为自己的排名版本?
例如,[6,4,5] - > [3,1,2]?
我有兴趣使用秩相关作为成本函数,我的bandaid解决方案是使用session.run(tensor)来获取numpy值,然后修改它以进行排名相关.
迄今为止的问题是在训练期间权重和偏差没有变化,这使我假设TensorFlow没有计算出有意义的梯度.
我在(500和3e-8)之间的多个值之间改变了我的学习率,看看是不是问题.没有运气,重量和偏见保持不变.
您可以查看第二个输出tf.nn.top_k
以获取最大元素的位置.原始列表中元素的排名与此相反,因此运行top_k
结果
这给出了最大元素的位置,你实际上想要最小而不是最大,所以你需要否定输入 top_k
a = tf.constant([6, 4, 5])
size = tf.size(a)
indices_of_ranks = tf.nn.top_k(-a, k=size)[1]
ranks_of_indices = tf.nn.top_k(-indices_of_ranks, k=size)[1]
sess = tf.Session()
sess.run(ranks_of_indices+1)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
786 次 |
最近记录: |