gpt4 book ai didi

python - Tensorflow尝试使用未初始化的值AUC/AUC/auc/false_positives

转载 作者:行者123 更新时间:2023-12-04 04:56:37 31 4
gpt4 key购买 nike

我正在训练用于图像分类的CNN。由于我的数据集有限,我正在使用转移学习。基本上,我使用的是Google在其再培训示例(https://www.tensorflow.org/tutorials/image_retraining)中证明的经过预先培训的网络。

该模型效果很好,并提供了非常好的准确性。但是我的数据集非常不平衡,这意味着准确性并不是判断模型性能的最佳指标。

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

Tensorflow提供了很好的指标,包括AUC,精度,召回率等。

现在,这是追溯模型的代码:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/image_retraining/retrain.py

我在add_evaluation_step(result_tensor, ground_truth_tensor)函数中添加了以下内容:

  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)

但我收到此错误:

Traceback (most recent call last): File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/examples/image_retraining/retrain.py", line 1135, in tf.app.run(main=main, argv=[sys.argv[0]] + unparsed) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/platform/app.py", line 44, in run _sys.exit(main(_sys.argv[:1] + flags_passthrough)) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/examples/image_retraining/retrain.py", line 911, in main ground_truth_input: train_ground_truth}) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/client/session.py", line 767, in run run_metadata_ptr) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/client/session.py", line 965, in _run feed_dict_string, options, run_metadata) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/client/session.py", line 1015, in _do_run target_list, options, run_metadata) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/client/session.py", line 1035, in _do_call raise type(e)(node_def, op, message) tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value AUC/AUC/auc/false_positives
[[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"]]

Caused by op u'AUC/AUC/auc/false_positives/read', defined at: File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/examples/image_retraining/retrain.py", line 1135, in tf.app.run(main=main, argv=[sys.argv[0]] + unparsed) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/platform/app.py", line 44, in run _sys.exit(main(_sys.argv[:1] + flags_passthrough)) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/examples/image_retraining/retrain.py", line 874, in main final_tensor, ground_truth_input) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/examples/image_retraining/retrain.py", line 806, in add_evaluation_step auc_value, update_op = tf.metrics.auc(tf.argmax(ground_truth_tensor, 1), prediction, curve='ROC') File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/ops/metrics_impl.py", line 555, in auc labels, predictions, thresholds, weights) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/ops/metrics_impl.py", line 473, in _confusion_matrix_at_thresholds false_p = _create_local('false_positives', shape=[num_thresholds]) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/ops/metrics_impl.py", line 177, in _create_local validate_shape=validate_shape) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/ops/variables.py", line 226, in init expected_shape=expected_shape) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/ops/variables.py", line 344, in _init_from_args self._snapshot = array_ops.identity(self._variable, name="read") File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/ops/gen_array_ops.py", line 1490, in identity result = _op_def_lib.apply_op("Identity", input=input, name=name) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/framework/op_def_library.py", line 768, in apply_op op_def=op_def) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/framework/ops.py", line 2402, in create_op original_op=self._default_original_op, op_def=op_def) File "/home/user_2/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/framework/ops.py", line 1264, in init self._traceback = _extract_stack()

FailedPreconditionError (see above for traceback): Attempting to use uninitialized value AUC/AUC/auc/false_positives [[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"]]



但是我不明白为什么会这样,因为主要是这样的:
init = tf.global_variables_initializer()
sess.run(init)

最佳答案

试试这个:

init = tf.group(tf.global_variables_initializer(), tf.local_variables_initializer())
sess.run(init)

关于python - Tensorflow尝试使用未初始化的值AUC/AUC/auc/false_positives,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44422508/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com