程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

Deep-Learning-with-TensorFlow-book第一章例程——tf1.py

发布于2019-11-17 13:06     阅读(1267)     评论(0)     点赞(16)     收藏(4)


运行环境

Spyder4.0+Python3.7

来源

https://github.com/dragen1860/Deep-Learning-with-TensorFlow-book

代码

  1. import tensorflow as tf
  2. assert tf.__version__.startswith('1.')
  3. # 1.创建计算图阶段
  4. # 创建2个输入端子,指定类型和名字
  5. a_ph = tf.placeholder(tf.float32, name='variable_a')
  6. b_ph = tf.placeholder(tf.float32, name='variable_b')
  7. # 创建输出端子的运算操作,并命名
  8. c_op = tf.add(a_ph, b_ph, name='variable_c')
  9. # 2.运行计算图阶段
  10. # 创建运行环境
  11. sess = tf.InteractiveSession()
  12. # 初始化操作也需要作为操作运行
  13. init = tf.global_variables_initializer()
  14. sess.run(init) # 运行初始化操作,完成初始化
  15. # 运行输出端子,需要给输入端子赋值
  16. c_numpy = sess.run(c_op, feed_dict={a_ph: 2., b_ph: 4.})
  17. # 运算完输出端子才能得到数值类型的c_numpy
  18. print('a+b=',c_numpy)

错误修改

由于本人使用TensorFlow2.0,原来的例程是给1.0版本使用,导致出现如下错误。错误在于Line2中的assert,指定了版本为TensorFlow1.0。

修改代码

将assert的版本改为2.0。

这样的改动导致了新的错误,错误如下

问题原因:在TF2中使用了TF1的模块,需要指定使用对应的TF1的版本。最终代码修改如下

  1. import tensorflow as tf
  2. if ('2'==tf.__version__[0]):
  3. import tensorflow.compat.v1 as tf
  4. tf.disable_v2_behavior()
  5. assert tf.__version__.startswith('2.')
  6. else:
  7. assert tf.__version__.startswith('1.')

这样可以兼容TF1和TF2。本人没有安装TF1,不知道在TF1环境下测试能否通过。TF2环境已经测试通过。如果TF1环境测试有问题,请告知我,我做代码修改。谢谢

运行结果

 



所属网站分类: 技术文章 > 博客

作者:磨子舒

链接:https://www.pythonheidong.com/blog/article/158101/4313a9bfdf20e57c84bc/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

16 0
收藏该文
已收藏

评论内容:(最多支持255个字符)