Tensorflow错误提取参数<内置函数=“” sum =“”>必须是字符串或Tensor

时间:2018-10-20 21:05:15

标签: python tensorflow google-colaboratory

我不断收到这个tensorflow错误,我不知道为什么。 我的代码:

__future__ import absolute_import
from __future__ import division
from __future__ import print_function
import tensorflow as tf
import os

a = tf.constant(2.5)
b = tf.constant(4.5)
total = a + b;

tf.summary.scalar("a",a)
tf.summary.scalar("b",b)
tf.summary.scalar("total",total)

merged_op = tf.summary.merge_all()

writer = tf.summary.FileWriter("summary")

# Launch Session
with tf.Session() as sess:
  _, summary = sess.run([sum,merged_op])
  writer.add_summary(summary)
  writer.close()

And this is the full error:
TypeErrorTraceback (most recent call last)
<ipython-input-82-155dabddd08a> in <module>()
      1 with tf.Session() as sess:
----> 2   _, summary = sess.run([sum,merged_op])
      3   writer.add_summary(summary)
      4   writer.close()
      5 

/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in run(self, fetches, feed_dict, options, run_metadata)
    927     try:
    928       result = self._run(None, fetches, feed_dict, options_ptr,
--> 929                          run_metadata_ptr)
    930       if run_metadata:
    931         proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)


TypeError: Fetch argument <built-in function sum> has invalid type <type 'builtin_function_or_method'>, must be a string or Tensor. (Can not convert a builtin_function_or_method into a Tensor or Operation.)

我不知道该怎么办,我很困惑为什么会收到此错误,因为基本上是从我正在阅读的一本名为tensorflow的虚拟书中复制了代码。

1 个答案:

答案 0 :(得分:0)

在执行sess.run之前,您尚未声明“ sum”。 sum是python中的内置函数。 您可能要运行“总计”

sess.run([total,merged_op])

证明总和是内置的:

sum([5,4])
>>> 9