0
関数から7つの値を返し、後でこれらの値を出力します。 しかし、私がそれらをプリントアウトすると、私は常に最初の値の7つのコピーを取得します。Tensorflow/Python:最初の要素のコピーを返すファンクションタプル
私は何が間違っているのか分かりません。
コードでは、テンソル(配列)のn
要素を比較し、特定のしきい値を下回る要素の割合をチェックしています。
def accuracy():
n=7850
m = 100.0
difference = tf.abs(tf.subtract(prediction,(labels_tf)))
one = tf.reduce_sum(tf.cast(tf.less(difference,[1]),dtype=tf.int32))
one = tf.multiply(tf.divide(tf.cast(one,dtype=tf.float32),n),m)
two = tf.reduce_sum(tf.cast(tf.less(difference,[2]),dtype=tf.int32))
two = tf.multiply(tf.divide(tf.cast(one,dtype=tf.float32),n),m)
three =tf.reduce_sum(tf.cast(tf.less(difference,[3]),dtype=tf.int32))
three =tf.multiply(tf.divide(tf.cast(one,dtype=tf.float32),n),m)
four= tf.reduce_sum(tf.cast(tf.less(difference,[4]),dtype=tf.int32))
four= tf.multiply(tf.divide(tf.cast(one,dtype=tf.float32),n),m)
five= tf.reduce_sum(tf.cast(tf.less(difference,[5]),dtype=tf.int32))
five= tf.multiply(tf.divide(tf.cast(one,dtype=tf.float32),n),m)
ten = tf.reduce_sum(tf.cast(tf.less(difference,[10]),dtype=tf.int32))
ten = tf.multiply(tf.divide(tf.cast(one,dtype=tf.float32),n),m)
fifteen =tf.reduce_sum(tf.cast(tf.less(difference,[15]),dtype=tf.int32))
fifteen = tf.multiply(tf.divide(tf.cast(one,dtype=tf.float32),n),m)
return (one, two, three, four, five, ten, fifteen)
a1,a2,a3,a4,a5,a10,a15 = accuracy()
uggh二行目の操作の各セットに
one
を渡しています。私はこれのための弾丸に値する。どうも! – Simmeman