加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 在Tensorflow中打印张量的值

发布时间:2020-12-20 13:17:58 所属栏目:Python 来源:网络整理
导读:以下是我的完整代码的链接: https://github.com/roshanDD/YAD2K/blob/master/yad2k/models/keras_yolo.py#L253 我只想打印张量的值,称为true_areas.我运行了我的代码: sess = tf.InteractiveSession()true_areas = true_wh[...,0] * true_wh[...,1]tf.Prin
以下是我的完整代码的链接:

https://github.com/roshanDD/YAD2K/blob/master/yad2k/models/keras_yolo.py#L253

我只想打印张量的值,称为true_areas.我运行了我的代码:

sess = tf.InteractiveSession()
true_areas = true_wh[...,0] * true_wh[...,1]
tf.Print(true_areas,[true_areas],message = "This is True Areas: ")
b = tf.add(true_areas,true_areas).eval()

但它给了我错误:

Caused by op 'input_2',defined at:
  File "learning.py",line 358,in <module>
    _main(args)
  File "learning.py",line 66,in _main
    model_body,model = create_model(anchors,class_names)
  File "learning.py",line 185,in create_model
    boxes_input = Input(shape=(None,5))
  File "/home/ubuntu/anaconda2/envs/py35/lib/python3.5/site-packages/keras/engine/topology.py",line 1388,in Input
    input_tensor=tensor)
  File "/home/ubuntu/anaconda2/envs/py35/lib/python3.5/site-packages/keras/engine/topology.py",line 1299,in __init__
    name=self.name)
  File "/home/ubuntu/anaconda2/envs/py35/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py",line 349,in placeholder
    x = tf.placeholder(dtype,shape=shape,name=name)
  File "/home/ubuntu/anaconda2/envs/py35/lib/python3.5/site-packages/tensorflow/python/ops/array_ops.py",line 1507,in placeholder
    name=name)
  File "/home/ubuntu/anaconda2/envs/py35/lib/python3.5/site-packages/tensorflow/python/ops/gen_array_ops.py",line 1997,in _placeholder
    name=name)
  File "/home/ubuntu/anaconda2/envs/py35/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py",line 768,in apply_op
    op_def=op_def)
  File "/home/ubuntu/anaconda2/envs/py35/lib/python3.5/site-packages/tensorflow/python/framework/ops.py",line 2336,in create_op
    original_op=self._default_original_op,op_def=op_def)
  File "/home/ubuntu/anaconda2/envs/py35/lib/python3.5/site-packages/tensorflow/python/framework/ops.py",line 1228,in __init__
    self._traceback = _extract_stack()

InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'input_2' with dtype float
     [[Node: input_2 = Placeholder[dtype=DT_FLOAT,shape=[],_device="/job:localhost/replica:0/task:0/cpu:0"]()]]

它正在谈论的占位符是什么?

解决方法

错误消息告诉您,您在代码中的某个位置定义了一个名为input_2的 tf.placeholder().

如果要评估依赖于此占位符的图形,则需要向此占位符提供feed值.它应该看起来像这样:

b = tf.add(true_areas,true_areas).eval({input_2: someInputValues})

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读