2
私は比較のためにテンソルフローでユークリッド距離を計算する必要があるknn分類プロジェクトを持っています。ユークリッド距離Tensorflowで、変換行列
tensorflowせず、元のコードは次のようである:
def euclidean_distance(self,x1, x2):
distance = 0.0
for i in range(len(x1)):
distance += pow(x1[i] - x2[i], 2)
print(distance)
return math.sqrt(distance)
とtensorflowとは次のようである:
distance = 0.0
for i in range(len(x1)):
distance = tf.negative(tf.sqrt(tf.reduce_sum(tf.square(tf.subtract(x1, x2)))))
return distance
これは正しいですか?そのコード距離はテンソルになり、そのテンソルを正規の行列に変換するメソッドが必要です。
ご協力いただきありがとうございます。あなたは
session=tf.Session()
nd_distance=session.run(distance)
あなたは
......
......
distance = tf.sqrt(tf.reduce_sum(tf.square(tf.subtract(x1, x2))))
nd_distance=session.run(distance)
print (nd_distance)
return nd_distance
にコードを変更する必要があり、私は必要性を見ないブローのようなグラフを実行する必要がND配列(行列)を得るために
が テンソルのようだった距離印刷しようとIM( "Sqrt_2457:0"、形状=()、DTYPE =のfloat32) Tensor( "Sqrt_2458:0"、shape =()、dtype = float32) あなたのコード、提案などのようにnd_distanceを印刷しようとしても何も起こりませんか? – Elucist
x1とx2の値は何ですか?彼らもテンソルですか? – Mitiku
いや、それはこの https://s1.postimg.org/o2x1vdypr/postimage.png のように、それは、TF-IDF – Elucist