首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用skflow时看到张量内的值

如何在使用skflow时看到张量内的值
EN

Stack Overflow用户
提问于 2016-02-10 03:12:28
回答 2查看 565关注 0票数 1

我查过How to print the value of a Tensor object in TensorFlow?了。然而,似乎没有从盒子里出来工作。例如像这样尝试过:

代码语言:javascript
复制
with tf.Session():
    word_vectors = skflow.ops.categorical_variable(X_test[0], n_classes=n_words,embedding_size=EMBEDDING_SIZE, name='words')
    word_vectors.eval()

也试过

代码语言:javascript
复制
sess = tf.InteractiveSession()

在调用word_vectors.eval()之前。但所有这些都会导致崩溃:

代码语言:javascript
复制
    Traceback (most recent call last):
      File "/Users/mypc/Documents/scripts/scikitflow/small_rnn_test/test_load.py", line 32, in <module>
    word_vectors.eval()
  File "/Library/Python/2.7/site-packages/tensorflow/python/framework/ops.py", line 405, in eval
    return _eval_using_default_session(self, feed_dict, self.graph, session)
  File "/Library/Python/2.7/site-packages/tensorflow/python/framework/ops.py", line 2728, in _eval_using_default_session
    return session.run(tensors, feed_dict)
  File "/Library/Python/2.7/site-packages/tensorflow/python/client/session.py", line 345, in run
    results = self._do_run(target_list, unique_fetch_targets, feed_dict_string)
  File "/Library/Python/2.7/site-packages/tensorflow/python/client/session.py", line 419, in _do_run
    e.code)
tensorflow.python.framework.errors.FailedPreconditionError: Attempting to use uninitialized value words/words_embeddings
     [[Node: words/embedding_lookup/embedding_lookup = Gather[Tindices=DT_INT64, Tparams=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"](words/words_embeddings, words/embedding_lookup/Reshape)]]
Caused by op u'words/embedding_lookup/embedding_lookup', defined at:
  File "/Users/mypc/Documents/scripts/scikitflow/small_rnn_test/test_load.py", line 31, in <module>
    word_vectors = skflow.ops.categorical_variable(X_test[0], n_classes=n_words,embedding_size=EMBEDDING_SIZE, name='words')
  File "/Library/Python/2.7/site-packages/skflow/ops/embeddings_ops.py", line 77, in categorical_variable
    return embedding_lookup(embeddings, tensor_in)
  File "/Library/Python/2.7/site-packages/skflow/ops/embeddings_ops.py", line 50, in embedding_lookup
    embeds_flat = tf.nn.embedding_lookup(params, ids_flat, name)
  File "/Library/Python/2.7/site-packages/tensorflow/python/ops/embedding_ops.py", line 46, in embedding_lookup
    return array_ops.gather(params[0], ids, name=name)
  File "/Library/Python/2.7/site-packages/tensorflow/python/ops/gen_array_ops.py", line 302, in gather
    name=name)
  File "/Library/Python/2.7/site-packages/tensorflow/python/ops/op_def_library.py", line 633, in apply_op
    op_def=op_def)
  File "/Library/Python/2.7/site-packages/tensorflow/python/framework/ops.py", line 1710, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/Library/Python/2.7/site-packages/tensorflow/python/framework/ops.py", line 988, in __init__
    self._traceback = _extract_stack()

有没有人知道比较简单的方法来观察由skflow产生的张量的内容?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-14 04:15:23

您抛出的错误还不清楚,但我得到了“试图使用未初始化的值单词/word_embeddings”的错误。初始化变量修复了错误。

因此,工作代码是:

代码语言:javascript
复制
word_vectors = skflow.ops.categorical_variable([1,2], n_classes=3,embedding_size=2, name='words')
with tf.Session() as sess:
  tf.initialize_all_variables().run()
  word_vectors.eval()

我还将图形节点word_vectors移到会话上下文之外,尽管这并不是修复错误所必需的。

票数 0
EN

Stack Overflow用户

发布于 2016-02-17 02:38:16

categorical_variable不会为您初始化所有变量。它不像初始化会话、变量、图表等的估值器。此时,如果您使用tf.initialize_all_variables().run(),您将能够得到这些值。另外,请注意,您可以通过估值器的bias_weights_属性访问权重和偏差。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35306191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档