Tensorflow1.x 与 Tensorflow2.0的不同

Tensorflow2.0引入了Eager Mode,提供更灵活的动态图模式,类似Numpy的即时执行,简化了计算图构建和自动微分。自动微分借助GradientTape实现,支持Python控制流,增强了模型训练的便捷性。

简单来说,Tensorflow1.x 与 Tensorflow2.0的主要区别在于tf1.x使用静态图而tf2.x使用Eager Mode动态图。下图是Tensorflow2.0的架构图,使用keras API作为构建神经网络的工具。

Eager Mode动态图模式

在Eager Mode 推出之前,基于TensorFlow的程序使用的静态计算图,计算过程首先被编译成一个有向无环图。这种模式下模型的计算性能得到了保证,但是却大大牺牲了灵活性,如果对计算图进行修改,则在每个session执行计算之前将会要重新编译计算图,会带了额外的开销。

Eager Mode下我们可以像使用Numpy数组一样快速获得模型部分结构的执行结果,而无需针对每次计算过程都执行创建session,构建feed_dict等比较繁琐的操作,这为我们验证模型的前向计算过程提供了非常大的便利。

以a+b为例。在ft1.x中,创建计算图的过程仅仅是使用各变量名创建出 “ a + b ” 加法的计算规则,记录下该公式的计算步骤,并没有传入具体的值和执行具体的计算过程。

using System;  
using Tensorflow;  
using static Tensorflow.Binding;  
namespace TF_Test  {  
    class Program  {  
        //Basic Operation 2.0 + 3.0 with TensorFlow.NET 1.x  
        static void Main(string[] args)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值