私は形状の点のxyz座標の配列を持っています(nsamples, npoints, 3)
。テンソルフローの第2次元のインデックス化
私は、起点に最も近い2つの点を選択するテンソルフローグラフを作成しようとしています。
私はこれまでのところ
r2 = tf.reduce_sum(tf.pow(centeredxyz, 2), axis=2)
idx = tf.nn.top_k(-r2, 2)[1]
を得ているこれは私の形状(nsamples, 2)
の2Dマトリックスすなわち
[[3, 15], [6, 2], ...]
の形で最も近い二つの点のインデックスを提供します。
centeredxyz
からこれらのインデックスを使用してポイントを戻すにはどうすればよいですか? tf.gather_nd
を試しましたが、最初のサンプルの3番目と15番目の点、2番目のサンプルの6番目と2番目などを求めているうちに、3番目のサンプルの15番目の点の座標を求めていると考えています。
私はtf.range
を作成し、[[0, 3], [0, 15], [1, 6], [1, 2], ...]
を得るために、インデックスにそれを積み重ねてみましたが、それはそれで現在、私は次のしようとする内容へと全く無知だ未知の寸法ValueError: Cannot convert an unknown Dimension to a Tensor: ?
の範囲を作成することはできませんので、それが失敗しました。