Python Tensorflow试图使用未初始化的AUC/AUC/AUC/false_正值

Python Tensorflow试图使用未初始化的AUC/AUC/AUC/false_正值,python,tensorflow,Python,Tensorflow,我正在训练CNN使用图像分类。由于我的数据集有限,我正在使用迁移学习。基本上,我使用的是谷歌在其再培训示例()中证明的预培训网络 该模型运行良好,精度非常高。但我的数据集高度不平衡,这意味着准确度不是判断模型性能的最佳指标 通过研究不同的解决方案,一些人建议更改采样方法或使用的性能指标。我选择后者 Tensorflow提供了大量的度量标准,包括AUC、精确度、召回率等 现在,以下是重新培训模式的代码: 我将以下内容添加到add\u evaluation\u步骤(结果张量、地面张量、真相张量)函

我正在训练CNN使用图像分类。由于我的数据集有限,我正在使用迁移学习。基本上,我使用的是谷歌在其再培训示例()中证明的预培训网络

该模型运行良好,精度非常高。但我的数据集高度不平衡,这意味着准确度不是判断模型性能的最佳指标

通过研究不同的解决方案,一些人建议更改采样方法或使用的性能指标。我选择后者

Tensorflow提供了大量的度量标准,包括AUC、精确度、召回率等

现在,以下是重新培训模式的代码:

我将以下内容添加到
add\u evaluation\u步骤(结果张量、地面张量、真相张量)
函数中:

  with tf.name_scope('AUC'):
    with tf.name_scope('prediction'):
        prediction = tf.argmax(result_tensor, 1)
    with tf.name_scope('AUC'):
        auc_value = tf.metrics.auc(tf.argmax(ground_truth_tensor, 1), prediction, curve='ROC')


  tf.summary.scalar('accuracy', evaluation_step)
  tf.summary.scalar('AUC', auc_value)
但我得到了一个错误:

回溯(最近一次调用上次):文件 “/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/examples/image_retaining/retain.py”, 第1135行,在 tf.app.run(main=main,argv=[sys.argv[0]]]+未解析)文件“/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/python/platform/app.py”, 第44行,运行中 _sys.exit(main(_sys.argv[:1]+flags_passthrough))文件“/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/examples/image_retaining/retain.py”, 总机911线 地面真相输入:训练地面真相文件“/home/user\u 2/tensorflow/bazel bin/tensorflow/examples/image\u retaining/retain.runfiles/org\u tensorflow/tensorflow/python/client/session.py”, 第767行,运行中 运行元数据文件“/home/user\u 2/tensorflow/bazel bin/tensorflow/examples/image\u retaining/retain.runfiles/org\u tensorflow/tensorflow/python/client/session.py”, 第965行,运行中 feed_dict_string,options,run_metadata)File“/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/python/client/session.py”, 第1015行,正在运行 目标列表、选项、运行元数据)文件“/home/user\u 2/tensorflow/bazel bin/tensorflow/examples/image\u retaining/retain.runfiles/org\u tensorflow/tensorflow/python/client/session.py”, 第1035行,打电话 提升类型(e)(节点定义、操作、消息)tensorflow.python.framework.errors\u impl.failedPremissionError: 试图使用未初始化的AUC/AUC/AUC/假阳性值
[[Node:AUC/AUC/AUC/false_positives/read=IdentityT=DT_FLOAT, _class=[“loc:@AUC/AUC/AUC/false_-positives”],_-device=“/job:localhost/replica:0/task:0/cpu:0”]

由op u'AUC/AUC/AUC/false_positives/read'引起,定义于:文件 “/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/examples/image_retaining/retain.py”, 第1135行,在 tf.app.run(main=main,argv=[sys.argv[0]]]+未解析)文件“/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/python/platform/app.py”, 第44行,运行中 _sys.exit(main(_sys.argv[:1]+flags_passthrough))文件“/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/examples/image_retaining/retain.py”, 第874行,主 最终的张量,地面真实输入)文件“/home/user\u 2/tensorflow/bazel bin/tensorflow/examples/image\u retaining/retain.runfiles/org\u tensorflow/tensorflow/examples/image\u retaining/retain.py”, 第806行,在添加评估步骤中 auc\u值,update\u op=tf.metrics.auc(tf.argmax(地面真值张量,1),预测, curve='ROC')文件 “/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/python/ops/metrics\u impl.py”, 第555行,单位为auc 标签、预测、阈值、权重)文件“/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/python/ops/metrics_impl.py”, 第473行,在矩阵中,在阈值处 false\u p=\u创建本地('false\u positives',shape=[num\u thresholds])文件 “/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/python/ops/metrics\u impl.py”, 第177行,“创建本地” validate_shape=validate_shape)File“/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/python/ops/variables.py”, 第226行,在init expected_shape=expected_shape)File“/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/python/ops/variables.py”, 第344行,在来自参数的_init_中 self.\u snapshot=数组操作标识(self.\u变量,name=“read”)文件 “/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/python/ops/gen_array_ops.py”, 第1490行,标识为 结果=_op_def_lib.apply_op(“标识”,输入=输入,名称=名称)文件 “/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/python/framework/op_def_library.py”, 第768行,应用操作中 op_def=op_def)File“/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/python/framework/ops.py”, 创建操作中的第2402行 original_op=self._default_original_op,op_def=op_def)文件“/home/user_2/tensorflow/bazel bin/tensorflow/examples/image_retaining/retain.runfiles/org_tensorflow/tensorflow/python/framework/ops.py”, 第1264行,在init self.\u traceback=\u extract\u stack()

失败预处理错误(见上文
init = tf.global_variables_initializer()
sess.run(init)
init = tf.group(tf.global_variables_initializer(), tf.local_variables_initializer())
sess.run(init)