tf.placeholder() is not compatible with eager execution的解决方法「建议收藏」

tf.placeholder() is not compatible with eager execution的解决方法「建议收藏」最近安装了TensoFlow2.0及以上的版本都发现啊出现这个问题:RuntimeError:tf.placeholder()isnotcompatiblewitheagerexecution.这是因为在运行**tf.compat.v1.placeholder(dtype,shape=None,name=None)**的时候急切执行了这条语句,但是我们一般都是在一…

大家好,又见面了,我是你们的朋友全栈君。

最近安装了TensoFlow2.0及以上的版本都发现啊出现这个问题:

RuntimeError: tf.placeholder() is not compatible with eager execution.

这是因为在运行**tf.compat.v1.placeholder(dtype, shape = None, name = None)**的时候急切执行了这条语句,但是我们一般都是在一个Session前先去定义placeholder,但是不会去执行,然后再在Sesion上下文管理器中去传入我们的数据,然后执行。
这里给出一个方法(对我有效)

在代码中添加这样一句:

tf.compat.v1.disable_eager_execution()

例子

Error

import tensorflow as tf
import numpy as np
# tf.compat.v1.disable_eager_execution()
x = tf.compat.v1.placeholder(tf.float32, shape=(1024, 1024))
y = tf.matmul(x, x)

with tf.compat.v1.Session() as sess:
    print(sess.run(y))

    # rand_array = np.random.rand(1024, 1024)
    # print(sess.run(y, feed_dict={x: rand_array}))

RuntimeError: tf.placeholder() is not compatible with eager execution.

Correct

import tensorflow as tf
import numpy as np
tf.compat.v1.disable_eager_execution()
x = tf.compat.v1.placeholder(tf.float32, shape=(1024, 1024))
y = tf.matmul(x, x)

with tf.compat.v1.Session() as sess:
    # print(sess.run(y))

    rand_array = np.random.rand(1024, 1024)
    print(sess.run(y, feed_dict={ 
   x: rand_array}))

[[252.48357 255.5346 248.42102 … 260.47867 257.15802 254.84673]
[247.44424 248.02411 250.1583 … 253.2936 251.4498 242.8446 ]
[259.25705 259.74298 259.33575 … 261.40015 257.27484 261.23822]

[245.12628 258.36353 246.82956 … 247.89975 253.03627 252.05295]
[247.1987 261.00418 254.8853 … 260.04547 260.02435 250.82901]
[256.0824 256.6464 255.48541 … 263.32083 259.73798 255.77368]]

参考资料:
1、eager execution not working with placeholders #18165

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158379.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab多重比较lsd法,多重比较LSD-t值的计算(附证明方法)

    matlab多重比较lsd法,多重比较LSD-t值的计算(附证明方法)多重比较LSD-t值的计算问题的提出:向学术期刊投稿时,“变态”的审稿人向你“索要”LSD-t值,可是SPSS的输出结果中没有这个值——是不是有点悲催?!另外,大家还会有一个常见的疑问:采用LSD-t法进行两两比较之后得出来的p值,需不需要调整显著性水平?我们先把原始数据和答案给出来,然后再讲一讲其中的数理逻辑。本例使用的原始数据如下图所示,有兴趣的读者可以用本数据进行对照学习(本例采用单因素方差…

    2022年6月12日
    44
  • 树莓派4B摄像头的详细使用教程(拍照+录像+监控)

    树莓派4B摄像头的详细使用教程(拍照+录像+监控)树莓派4B摄像头的详细使用教程(拍照+录像+监控)本篇博文将介绍树莓派摄像头是如何在树莓派开发板上从安装到使用的,博主过程中参考了许多帖子,现将整理的比较全面的过程分享出来,供大家参考使用。排线连接硬件连接时我们首先需要使用树莓派摄像头FFC排线,连接树莓派摄像头与树莓派开发板。其中排线连接的接口被称为CSI(CameraSerialInterface)接口。树莓派开发板的CSI接口位于USB和以太网接口旁边。我们先将CSI接口的黑色挡板拔开,之后将排线蓝色一端正对以太网接口方向插入,之后按下黑

    2022年6月3日
    60
  • 枚举类型

    枚举类型

    2021年9月16日
    44
  • 图的两种遍历方式

    图的两种遍历方式遍历是指从某个节点出发,按照一定的的搜索路线,依次访问对数据结构中的全部节点,且每个节点仅访问一次。在二叉树基础中,介绍了对于树的遍历。树的遍历是指从根节点出发,按照一定的访问规则,依次访问树的每个节点信息。树的遍历过程,根据访问规则的不同主要分为四种遍历方式:(1)先序遍历(2)中序遍历(3)后序遍历(4)层次遍历类似的,图的遍历是指,从给定图中任意指定的顶点(称为初始点…

    2022年6月14日
    29
  • 拦截器(Interceptor)和过滤器(Filter)的执行顺序和区别

    拦截器(Interceptor)和过滤器(Filter)的执行顺序和区别拦截器(Interceptor)和过滤器(Filter)的执行顺序和区别

    2022年4月29日
    45
  • mac. navicate 15激活码【2021免费激活】

    (mac. navicate 15激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
    97

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号