tensorflow2.0与tensorflow1.0区别

1. 1.X默认方式是先要定义一个静态结构,然后训练操作流程时独立的。这样运行效率比较高,但是调试起来费劲。最直观的一点,就是一些在函数中预先定义静态结构“彷佛”是不执行的,而写在后面的语句彷佛先执行了一样。2.X默认采用动态图处理的方式,和python风格更接近(Eager execution)。
2. 1.X版本有很多额外的概念比如,graph,session,run,placeholder,feed_dict这些,这些其实和静态模型构建息息相关,在2.X版本中不再使用了。
3. 1.X的tensorflow像一个平台工具,只是借用了python语言,tensorflow 1.X本身更像是一种描述神经网络模型的语言,2.X版本更像python的一个包。
4. 1.X中的变量空间和命名空间使得变量管理比较复杂,并大量依赖隐式全局名称空间(这点类似c++),还有一些必须的初始化比如`tf.global_variables_initializer()`, 2.X消除了所有这些机制,支持跟踪变量。(根据第1点和第4点我特别怀疑1.X的设计者C++用的很6)
5. 2.X版本中默认使用keras作为高级API, 1.X中需要自己选。在1.X中使用keras反而更容易移植到2.X。
6. 1.X中一些API很难找,而且存放位置分类有很多争议,2.X版本重新归纳整理了API(更好还是更坏另说)。

你可能感兴趣的:(代码编程,tensorflow,python,深度学习)