Tensorflow升级到2.1.0

Tensorflow1.4.1升级到2.1.0

Tensorflow 2.1.0优化了计算图,大大简化了使用流程,使得语法更贴近python的原生语法格式

卸载原有的tensorflow1.4.1版本

至于为何要卸载而不是直接执行sudo pip install --upgrade tensorflow是因为,执行后使用conda list查看其中的tensorflow版本确实是2.1.0,但是利用print(tf.__version__)打印出来的版本信息依然是1.4.1,而且很多新函数都无法使用。
最终执行以下命令即可:

1
2
3
conda activate tensorflow #启用tensorflow虚拟环境,在其中管理tensorflow的卸载和安装
pip uninstall tensorflow
pip install tensorflow==2.1.0

关于新版tensorflow特性的几点说明

  • 取消了v1版本中关于计算图的定义和执行的区分
  • 新版中的计算图采用动态计算图和autograph两种方式
  • 动态计算图,即Eager Execution,每定义一个算子,就会立即执行计算图。因此不需要像老版本一样,创建一个会话session,然后在会话中执行计算图,使得其使用更加贴近python原生语法
  • 动态计算图的缺点就是效率相较于静态计算图要低一些(老版使用的就是静态计算图)
  • autograph使用@tf.function装饰器修饰函数,来将其转化为静态计算图,从而提升效率