python模型训练框架_Python深度学习之TensorFlow的高级框架

引言

得益于TensorFlow社区的繁荣,诞生出许多高质量的原框架,如Keras、TFLearn、TensorLayer等。使用元框架能够大大减少编写TensorFlow代码的工作量,方便开发者快速搭建网络模型,并且使代码简单,可读性强。

TFLearn

TFLearn是一个建立在TensorFlow顶部的模块化的深度学习框架,它为TensorFlow提供更加高级的API,以便于快速实验,同时保持完全透明和兼容。

加载数据

这里我们使用的是牛津大学的鲜花数据集(Flower DataSet)。这个数据集提供了17个类别的鲜花数据,每个类别80张图片,并且图片有大量的姿态和光的变化。

注意,在代码的开始需要导入用到的与卷积、池化、规范化相关的类,方法如下:

83025aafa40f4bfb317263be9043b5f4f636184f.png?token=d986969030205c319f276f5cd3460abf&s=61D2836612B49E6F14CC7D06030070C3

构建网络模型

构建AlexNet网络模型时,直接使用TFLearn中的卷积、池化、规范化、全连接、dropout函数来构建即可。方法如下:

42a98226cffc1e17e478881edf9c3b07728de9ef.png?token=8c3a2fc73e2a25212bfe29eb2b9f6fc6&s=71F2836412F4806E06C07507030070C0

训练模型

构建完模型之后,就可以训练模型了。这里我们加了一步,就是假设有训练好或训练到一半的AlexNet模型的检查点文件,直接载入,方法如下:

d4628535e5dde7116aaf599c34e3031f9d166168.png?token=bfe68657372ecb14a21adb3b72999292&s=61D283669BE489705650BC130300D0C1

可见,代码十分简单,这就是使用第三方库的优点。

Keras

Keras是一个高级的Python神经网络框架。Keras已经被添加到TensorFlow中,成为其默认的框架,为TensorFlow提供更加高级的API。

如果大家在学习中不想了解TensorFlow的细节,只需要模块化,那么Keras是一个不错的选择。如果将TensorFlow比喻为编程界的C++和Java,那么Keras就可以认为是Python。它作为TensorFlow的高级封装,可以与TensorFlow联合使用,用它快速搭建原型。

另外,Keras 兼容两种后端,即Theano和TensorFlow,并且其接口形式和Torch有几分相似。掌握Keras可以大幅度提高我们的开发效率和对网络结果的理解。

Keras的优点

Keras是高度封装的,非常适合新手使用,代码更新速度非常快,示例代码也比较多,文档和讨论区也是比较完善的。最重要的是,Keras是TensorFlow官方支持的。当机器上有可用的GPU时,代码会自动调用GPU进行并行计算。

Keras的优点具体如下:

模块化:模型的各个部分,如神经层、成本函数、优化器、初始化、激活函数、规范化都是独立的模块,可以组合在一起创建模型。极简主义:每个模块都保持简短和简单。易扩展性:很容易添加新模块,因此Keras适用于做进一步的高级研究。使用Python语言:模型用Python实现,非常易于调试和扩展。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值