Tensorflow之tf.metrics

TFのようなインポートtensorflow 
NPとしてインポートnumpyの

N_TRUE_P = 0 
N_PRED_P = 0 

:DEF reset_running_variables()
    "" "リセットしゼロに変数を実行する前の値""" 
    グローバルN_TRUE_P、N_PRED_P 
    N_TRUE_P = 0 
    N_PRED_P = 0 

DEF update_running_variables(ラボ、preds ):
    グローバルN_TRUE_P、N_PRED_P 
    N_TRUE_P + =((ラボ* preds)> 0).SUM()
    N_PRED_P + =(preds> 0).SUM()

DEF calculate_precision():
    グローバルN_TRUE_P、N_PRED_Pの
    リターンフロート(N_TRUE_P)/ N_PRED_P 

もし__name__ == '__main__':

    ラベル= np.array([1,1,1,0]、
                       [1,1,1,0]、
                       [1,1,1,0]、
                       [1,1,1,0]、DTYPE = np.uint8)

    予測値= np.array([1,0,0,0]、
                            [1,1,0 、0]、
                            [1,1,1,0]、
                            [0,1,1,1]、DTYPE = np.uint8)

    n_batches = LEN(ラベル)

    ##numpy 
    #reset_running_variables() 
    iに対する#範囲内(n_batches):
    #1 update_running_variables(ラボ=ラベル[i]は、preds =予測[I]) #
    精度= calculate_precision() プリント( "[NP] SCORE:%1.4f" %の精度)

    #tensorflow 
    グラフ= TF。グラフ()
    graph.as_defaultと():
        #プレースホルダは、データONFバッチで取る 
        #変数を実行しているリセット/初期化する初期化子の定義
        tf_label = tf.placeholder(DTYPE = tf.int32、形状= [なし])
        tf_prediction = tf.placeholder(DTYPE = tf.int32、形状= [なし]) 
メトリックおよび更新操作を定義
        tf_metric、tf_metric_update = tf.metrics .precision(tf_label、
                                                           tf_prediction、
                                                           NAME = "my_metric") 
アイソメトリック動作によって背後格納された変数
        running_vars = tf.get_collection(tf.GraphKeys.LOCAL_VARIABLES、スコープ= "my_metric")

        running_vars_initializer = tf.variables_initializer(var_list = running_vars)

    セッションとしてtf.Session(グラフ=グラフ)を有します。
        session.run(tf.global_variables_initializer()) 
初期化/実行変数リセット
        session.run(running_vars_initializer)の

        範囲(n_batches)にiについて:
            #更新サンプルの新しいバッチで実行されている変数
            feed_dict = {tf_label:ラベル[I] 、tf_prediction:予測[I]} 
            session.run(tf_metric_update、feed_dict = feed_dict) 
計算スコア
        スコア= session.run(tf_metric)
        プリント( "[TF] SCORE:%1.4f" %スコア)

 参考ます。https://zhuanlan.zhihu.com/p/43359894

おすすめ

転載: www.cnblogs.com/liutianrui1/p/12172968.html