- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人找到了使用 pr_curve_streaming_op 进行多类分类的方法吗?
我正在尝试关注this demo和 this demo 。但到目前为止,我在数据收集阶段本身就遇到了困难。看来我需要能够在运行时收集数据,并且我面临着几个问题,例如无法在运行时修改 bool 张量等。任何帮助都会非常有用。谢谢
这是我的代码片段和我遇到的错误:
self.input_y = tf.placeholder(tf.float32, [None, num_classes], name='input_y')
with tf.device('/cpu:0'), tf.name_scope('embedding'):
self.emb_var = tf.Variable(embedding_mat, name='emb_var')
# if not non_static:
# self.emb_var = tf.constant(embedding_mat, name='emb_var')
# else:
# self.emb_var = tf.Variable(embedding_mat, name='emb_var', trainable=True)
self.embedded_chars = tf.nn.embedding_lookup(self.emb_var, self.input_x)
self.emb = tf.expand_dims(self.embedded_chars, -1)
pooled_concat = []
reduced = np.int32(np.ceil((sequence_length) * 1.0 / max_pool_size))
###
.
.
Removed some code for simplicity...
.
.
###
with tf.name_scope('probabilities'):
self.probabilities = tf.nn.softmax(self.scores)
with tf.name_scope('confidence'):
self.conf = tf.reduce_max(self.probabilities, reduction_indices=[1])
with tf.name_scope('Low_confidence'):
self.conf_low = tf.reduce_min(self.conf, name='low_conf')
with tf.name_scope('Avg_confidence'):
self.Avg_conf = tf.reduce_mean(self.conf, name='confidence')
with tf.name_scope('high_confidence'):
self.conf_high = tf.reduce_max(self.conf, name='high_conf')
with tf.name_scope('loss'):
losses = tf.nn.softmax_cross_entropy_with_logits(labels=self.input_y, logits=self.scores) # only named arguments accepted
self.loss = tf.reduce_mean(losses) + l2_reg_lambda * l2_loss
with tf.name_scope('accuracy'):
correct_predictions = tf.equal(self.predictions, tf.argmax(self.input_y, 1))
self.accuracy = tf.reduce_mean(tf.cast(correct_predictions, "float"), name='accuracy')
with tf.name_scope('num_correct'):
correct = tf.equal(self.predictions, tf.argmax(self.input_y, 1))
self.num_correct = tf.reduce_sum(tf.cast(correct, 'float'))
''' start '''
with tf.name_scope('pr_curve'):
self.pr_curve, update_op = summary_lib.pr_curve_streaming_op('pr_curve', predictions=self.probabilities, labels=tf.cast(self.input_y,tf.bool), num_thresholds=11)
''' end '''
以下是我收到的错误:
2017-12-25 18:37:30.433250: W tensorflow/core/framework/op_kernel.cc:1192] Failed precondition: Attempting to use uninitialized value pr_curve/pr_curve/true_negatives/true_negatives
[[Node: pr_curve/pr_curve/true_negatives/true_negatives/read = Identity[T=DT_FLOAT, _class=["loc:@pr_curve/pr_curve/true_negatives/true_negatives"], _device="/job:localhost/replica:0/task:0/device:GPU:0"](pr_curve/pr_curve/true_negatives/true_negatives)]]
2017-12-25 18:37:30.433565: W tensorflow/core/framework/op_kernel.cc:1192] Failed precondition: Attempting to use uninitialized value pr_curve/pr_curve/true_negatives/true_negatives
[[Node: pr_curve/pr_curve/true_negatives/true_negatives/read = Identity[T=DT_FLOAT, _class=["loc:@pr_curve/pr_curve/true_negatives/true_negatives"], _device="/job:localhost/replica:0/task:0/device:GPU:0"](pr_curve/pr_curve/true_negatives/true_negatives)]]
2017-12-25 18:37:30.433613: W tensorflow/core/framework/op_kernel.cc:1192] Failed precondition: Attempting to use uninitialized value pr_curve/pr_curve/true_negatives/true_negatives
[[Node: pr_curve/pr_curve/true_negatives/true_negatives/read = Identity[T=DT_FLOAT, _class=["loc:@pr_curve/pr_curve/true_negatives/true_negatives"], _device="/job:localhost/replica:0/task:0/device:GPU:0"](pr_curve/pr_curve/true_negatives/true_negatives)]]
2017-12-25 18:37:30.433630: W tensorflow/core/framework/op_kernel.cc:1192] Failed precondition: Attempting to use uninitialized value pr_curve/pr_curve/true_negatives/true_negatives
[[Node: pr_curve/pr_curve/true_negatives/true_negatives/read = Identity[T=DT_FLOAT, _class=["loc:@pr_curve/pr_curve/true_negatives/true_negatives"], _device="/job:localhost/replica:0/task:0/device:GPU:0"](pr_curve/pr_curve/true_negatives/true_negatives)]]
2017-12-25 18:37:30.433652: W tensorflow/core/framework/op_kernel.cc:1192] Failed precondition: Attempting to use uninitialized value pr_curve/pr_curve/true_negatives/true_negatives
[[Node: pr_curve/pr_curve/true_negatives/true_negatives/read = Identity[T=DT_FLOAT, _class=["loc:@pr_curve/pr_curve/true_negatives/true_negatives"], _device="/job:localhost/replica:0/task:0/device:GPU:0"](pr_curve/pr_curve/true_negatives/true_negatives)]]
2017-12-25 18:37:30.433699: W tensorflow/core/framework/op_kernel.cc:1192] Failed precondition: Attempting to use uninitialized value pr_curve/pr_curve/true_negatives/true_negatives
[[Node: pr_curve/pr_curve/true_negatives/true_negatives/read = Identity[T=DT_FLOAT, _class=["loc:@pr_curve/pr_curve/true_negatives/true_negatives"], _device="/job:localhost/replica:0/task:0/device:GPU:0"](pr_curve/pr_curve/true_negatives/true_negatives)]]
2017-12-25 18:37:30.433729: W tensorflow/core/framework/op_kernel.cc:1192] Failed precondition: Attempting to use uninitialized value pr_curve/pr_curve/true_negatives/true_negatives
[[Node: pr_curve/pr_curve/true_negatives/true_negatives/read = Identity[T=DT_FLOAT, _class=["loc:@pr_curve/pr_curve/true_negatives/true_negatives"], _device="/job:localhost/replica:0/task:0/device:GPU:0"](pr_curve/pr_curve/true_negatives/true_negatives)]]
2017-12-25 18:37:30.433767: W tensorflow/core/framework/op_kernel.cc:1192] Failed precondition: Attempting to use uninitialized value pr_curve/pr_curve/true_negatives/true_negatives
[[Node: pr_curve/pr_curve/true_negatives/true_negatives/read = Identity[T=DT_FLOAT, _class=["loc:@pr_curve/pr_curve/true_negatives/true_negatives"], _device="/job:localhost/replica:0/task:0/device:GPU:0"](pr_curve/pr_curve/true_negatives/true_negatives)]]
2017-12-25 18:37:30.433805: W tensorflow/core/framework/op_kernel.cc:1192] Failed precondition: Attempting to use uninitialized value pr_curve/pr_curve/true_negatives/true_negatives
[[Node: pr_curve/pr_curve/true_negatives/true_negatives/read = Identity[T=DT_FLOAT, _class=["loc:@pr_curve/pr_curve/true_negatives/true_negatives"], _device="/job:localhost/replica:0/task:0/device:GPU:0"](pr_curve/pr_curve/true_negatives/true_negatives)]]
Traceback (most recent call last):
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1323, in _do_call
return fn(*args)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1302, in _run_fn
status, run_metadata)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py", line 473, in __exit__
c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value pr_curve/pr_curve/true_negatives/true_negatives
[[Node: pr_curve/pr_curve/true_negatives/true_negatives/read = Identity[T=DT_FLOAT, _class=["loc:@pr_curve/pr_curve/true_negatives/true_negatives"], _device="/job:localhost/replica:0/task:0/device:GPU:0"](pr_curve/pr_curve/true_negatives/true_negatives)]]
[[Node: rnn/LessEqual_4/_37 = _HostRecv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_105_rnn/LessEqual_4", tensor_type=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./code/train.py", line 357, in <module>
train_cnn_rnn()
File "./code/train.py", line 276, in train_cnn_rnn
train_step(x_train_batch, y_train_batch)
File "./code/train.py", line 223, in train_step
_, step, summaries = sess.run([train_op, global_step, train_summary_op], feed_dict)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/debug/wrappers/framework.py", line 534, in run
run_metadata=run_metadata)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 889, in run
run_metadata_ptr)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1120, in _run
feed_dict_tensor, options, run_metadata)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1317, in _do_run
options, run_metadata)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1336, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value pr_curve/pr_curve/true_negatives/true_negatives
[[Node: pr_curve/pr_curve/true_negatives/true_negatives/read = Identity[T=DT_FLOAT, _class=["loc:@pr_curve/pr_curve/true_negatives/true_negatives"], _device="/job:localhost/replica:0/task:0/device:GPU:0"](pr_curve/pr_curve/true_negatives/true_negatives)]]
[[Node: rnn/LessEqual_4/_37 = _HostRecv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_105_rnn/LessEqual_4", tensor_type=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]
Caused by op 'pr_curve/pr_curve/true_negatives/true_negatives/read', defined at:
File "./code/train.py", line 357, in <module>
train_cnn_rnn()
File "./code/train.py", line 170, in train_cnn_rnn
l2_reg_lambda=params['l2_reg_lambda'])
File "/media/hemant/MVV/MyValueVest-local/main/code/text_cnn_rnn.py", line 127, in __init__
self.pr_curve, update_op = summary_lib.pr_curve_streaming_op('pr_curve', predictions=self.probabilities, labels=tf.cast(self.input_y,tf.bool), num_thresholds=11)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorboard/plugins/pr_curve/summary.py", line 234, in streaming_op
weights=weights)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/ops/metrics_impl.py", line 1482, in true_negatives_at_thresholds
labels, predictions, thresholds, weights=weights, includes=('tn',))
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/ops/metrics_impl.py", line 543, in _confusion_matrix_at_thresholds
true_n = _create_local('true_negatives', shape=[num_thresholds])
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/ops/metrics_impl.py", line 196, in _create_local
validate_shape=validate_shape)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/ops/variable_scope.py", line 1927, in variable
caching_device=caching_device, name=name, dtype=dtype)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/ops/variables.py", line 213, in __init__
constraint=constraint)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/ops/variables.py", line 356, in _init_from_args
self._snapshot = array_ops.identity(self._variable, name="read")
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/ops/array_ops.py", line 125, in identity
return gen_array_ops.identity(input, name=name)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/ops/gen_array_ops.py", line 2071, in identity
"Identity", input=input, name=name)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
op_def=op_def)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 2956, in create_op
op_def=op_def)
File "/home/hemant/anaconda3/envs/tf14/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1470, in __init__
self._traceback = self._graph._extract_stack() # pylint: disable=protected-access
FailedPreconditionError (see above for traceback): Attempting to use uninitialized value pr_curve/pr_curve/true_negatives/true_negatives
[[Node: pr_curve/pr_curve/true_negatives/true_negatives/read = Identity[T=DT_FLOAT, _class=["loc:@pr_curve/pr_curve/true_negatives/true_negatives"], _device="/job:localhost/replica:0/task:0/device:GPU:0"](pr_curve/pr_curve/true_negatives/true_negatives)]]
[[Node: rnn/LessEqual_4/_37 = _HostRecv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_105_rnn/LessEqual_4", tensor_type=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]
最佳答案
明白了...- 创建一个单独的 session ,因为我需要所有预测的值。- 循环浏览我所有的类(class)。
pr_graph = tf.Graph()
with pr_graph.as_default():
session_conf = tf.ConfigProto(allow_soft_placement=True, log_device_placement=False)
pr_sess = tf.Session(config=session_conf)
with pr_sess.as_default():
for cat in range(y_train.shape[1]):
with tf.name_scope('%s' % labels[cat]):
_, update_op = summary_lib.pr_curve_streaming_op('pr_curve', predictions=probs[:, cat], labels=tf.cast(y_test[:, cat], tf.bool), num_thresholds=500, metrics_collections='pr')
pr_summary_op = tf.summary.merge_all()
pr_summary_dir = os.path.join(checkpoint_dir, "s", "pr")
pr_summary_writer = tf.summary.FileWriter(pr_summary_dir, pr_sess.graph)
pr_sess.run(tf.local_variables_initializer())
pr_sess.run([update_op])
pr_summary_writer.add_summary(pr_sess.run(pr_summary_op))
pr_summary_writer.close()
关于machine-learning - TensorFlow PR曲线插件: pr_curve_streaming_op,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47972505/
基本上,我的问题是,由于无监督学习是机器学习的一种,是否需要机器“学习”的某些方面并根据其发现进行改进?例如,如果开发了一种算法来获取未标记的图像并找到它们之间的关联,那么它是否需要根据这些关联来改进
生成模型和判别模型似乎可以学习条件 P(x|y) 和联合 P(x,y) 概率分布。但从根本上讲,我无法说服自己“学习概率分布”意味着什么。 最佳答案 这意味着您的模型要么充当训练样本的分布估计器,要么
是否有类似于 的 scikit-learn 方法/类元成本 在 Weka 或其他实用程序中实现的算法以执行常量敏感分析? 最佳答案 不,没有。部分分类器提供 class_weight和 sample_
是否Scikit-learn支持迁移学习?请检查以下代码。 型号 clf由 fit(X,y) 获取 jar 头型号clf2在clf的基础上学习和转移学习 fit(X2,y2) ? >>> from s
我发现使用相同数据的两种交叉验证技术之间的分类性能存在差异。我想知道是否有人可以阐明这一点。 方法一:cross_validation.train_test_split 方法 2:分层折叠。 具有相同
我正在查看 scikit-learn 文档中的这个示例:http://scikit-learn.org/0.18/auto_examples/model_selection/plot_nested_c
我想训练一个具有很多标称属性的数据集。我从一些帖子中注意到,要转换标称属性必须将它们转换为重复的二进制特征。另外据我所知,这样做在概念上会使数据集稀疏。我也知道 scikit-learn 使用稀疏矩阵
我正在尝试在 scikit-learn (sklearn.feature_selection.SelectKBest) 中通过卡方方法进行特征选择。当我尝试将其应用于多标签问题时,我收到此警告: 用户
有几种算法可以构建决策树,例如 CART(分类和回归树)、ID3(迭代二分法 3)等 scikit-learn 默认使用哪种决策树算法? 当我查看一些决策树 python 脚本时,它神奇地生成了带有
我正在尝试在 scikit-learn (sklearn.feature_selection.SelectKBest) 中通过卡方方法进行特征选择。当我尝试将其应用于多标签问题时,我收到此警告: 用户
有几种算法可以构建决策树,例如 CART(分类和回归树)、ID3(迭代二分法 3)等 scikit-learn 默认使用哪种决策树算法? 当我查看一些决策树 python 脚本时,它神奇地生成了带有
有没有办法让 scikit-learn 中的 fit 方法有一个进度条? 是否可以包含自定义的类似 Pyprind 的内容? ? 最佳答案 如果您使用 verbose=1 初始化模型调用前 fit你应
我正在使用基于 rlglue 的 python-rl q 学习框架。 我的理解是,随着情节的发展,算法会收敛到一个最优策略(这是一个映射,说明在什么状态下采取什么行动)。 问题 1:这是否意味着经过若
我正在尝试使用 grisSearchCV 在 scikit-learn 中拟合一些模型,并且我想使用“一个标准错误”规则来选择最佳模型,即从分数在 1 以内的模型子集中选择最简约的模型最好成绩的标准误
我正在尝试离散数据以进行分类。它们的值是字符串,我将它们转换为数字 0,1,2,3。 这就是数据的样子(pandas 数据框)。我已将数据帧拆分为 dataLabel 和 dataFeatures L
每当我开始拥有更多的类(1000 或更多)时,MultinominalNB 就会变得非常慢并且需要 GB 的 RAM。对于所有支持 .partial_fit()(SGDClassifier、Perce
我需要使用感知器算法来研究一些非线性可分数据集的学习率和渐近误差。 为了做到这一点,我需要了解构造函数的一些参数。我花了很多时间在谷歌上搜索它们,但我仍然不太明白它们的作用或如何使用它们。 给我带来更
我知道作为功能 ordinal data could be assigned arbitrary numbers and OneHotEncoding could be done for catego
这是一个示例,其中有逐步的过程使系统学习并对输入数据进行分类。 它对给定的 5 个数据集域进行了正确分类。此外,它还对停用词进行分类。 例如 输入:docs_new = ['上帝就是爱', '什么在哪
我有一个 scikit-learn 模型,它简化了一点,如下所示: clf1 = RandomForestClassifier() clf1.fit(data_training, non_binary
我是一名优秀的程序员,十分优秀!