利用 TFLearn 快速搭建经典深度学习模型
利用 TFLearn 快速搭建经典深度学习模型
使用 TensorFlow 一个最大的好处是可以用各种运算符(Ops)灵活构建计算图,同时可以支持自定义运算符(见本公众号早期文章《TensorFlow 增加自定义运算符》)。由于运算符的粒度较小,在构建深度学习模型时,代码写出来比较冗长,比如实现卷积层:5, 9
这种方式在设计较大模型时会比较麻烦,需要程序员徒手完成各个运算符之间的连接,像一些中间变量的维度变换、运算符参数选项、多个子网络连接处极易发生问题,肉眼检查也很难发现代码中潜伏的 bug,会导致运行时出错(运气好),或者运行时不出错但运行结果不可解释(运气不好),消耗大量时间和精力。
有没有更好的实现各种经典模型的方式?
答案是肯定的!
我们今天学习一下在 TensorFlow 之上构建的高层次 API—— TFLearn【2】。
TFLearn 是一个模块化和透明的深度学习库,构建在 TensorFlow 之上。
它为 TensorFlow 提供高层次 API,目的是便于快速搭建试验环境,同时保持对 TensorFlow 的完全透明和兼容性。
TFLearn 的一些特点:
容易使用和易于理解的高层次 API 用于实现深度神经网络,附带教程和例子;
通过高度模块化的内置神经网络层、正则化器、优化器等进行快速原型设计;
对 TensorFlow 完全透明,所有函数都是基于 tensor,可以独立于 TFLearn 使用;
强大的辅助函数,训练任意 TensorFlow 图,支持多输入、多输出和优化器;
简单而美观的图可视化,关于权值、梯度、特征图等细节;
无需人工干预,可使用多 CPU、多 GPU;
高层次 API 目前支持最近大多数深度学习模型,像卷积网络、LSTM、BiRNN、BatchNorm、PReLU、残差网络、生成网络、增强学习…… 将来会一直更新最近的深度学习技术;
心动不如行动,我们马上就体验!在一台已经安装了 TensorFlow 的机器上(安装步骤参考之前文章《TensorFlow 1.0.0rc1 入坑记》《利用 TensorFlow 集装箱快速搭建交互式开发环境》《如何在 Windows 系统玩 TensorFlow》)直接运行以下命令:pip in
检查安装成功:
为了方便运行 TFLearn 附带例程,我们需要克隆 TFLearn 源码:h
先看看如何用 TFLearn 实现 AlexNet 用于 Oxford 17 类鲜花数据集分类任务的:
上图为论文【1】 中的 AlexNet 结构。
TFLearn 例程中实现的 AlexNet 和论文【1】中相比做了一些修改:
输入图像尺寸变为 227 x 227;
将 2-tower 架构改为 single-tower;
最后一个分类层的输出类别数从 1000 变为 17;
运行该例程:
该程序会自动下载 Oxford 17 flowers 数据集, 选了几个不同类别图片如下:
运行 AlexNet 模型训练截图如下:
在另一个命令行窗口启动 TensorBoard:
打开浏览器,输入地址:localhost:6006,打开 TensorBoard 页面,查看训练过程的准确率、loss 值变化:
AlexNet 模型可视化(之一)
(之二)
模型权值分布:
模型权值的直方图,可以看出权值训练历史:
通过今天内容,读者可以看出使用 TFLearn 高层次 API 相比直接使用 TensorFlow 实现深度学习模型具有使用更简单、构建更快速、可视化更方便等特点,从此无需手动处理各个运算符之间的连接,解放了生产力,提高了模型设计和优化效率。
作为练习,读者可以进一步学习 TFLearn 实现其他经典深度学习模型如 VGG、Inception、NIN、ResNet 等,对比原始论文学习,相信会有更大的收获。
参考文献
【1】Alex Krizhevsky, Ilya Sutskever & Geoffrey E. Hinton. ImageNet Classification with Deep Convolutional Neural Networks. NIPS, 2012.
【2】 http://tflearn.org/
转载于:https://www.cnblogs.com/alexanderkun/p/6918381.html
利用 TFLearn 快速搭建经典深度学习模型相关推荐
- tflearn教程_利用 TFLearn 快速搭建经典深度学习模型
使用 TensorFlow 一个最大的好处是可以用各种运算符(Ops)灵活构建计算图,同时可以支持自定义运算符(见本公众号早期文章<TensorFlow 增加自定义运算符>).由于运算符的 ...
- GitChat · 人工智能 | 如何零基础用 Keras 快速搭建实用深度学习模型
GitChat 作者:谢梁 原文: 如何零基础用 Keras 快速搭建实用深度学习模型 关注微信公众号:GitChat 技术杂谈 ,一本正经的讲技术 [不要错过文末活动] 前言 在这篇小文章中,我们将 ...
- 利用远程云服务器跑深度学习模型
利用远程云服务器跑深度学习模型主要有三个问题需要解决. 一是深度学习环境的搭建,二是已搭建环境的保存,三是远程数据的传输. 深度学习环境的搭建 以阿里云为例,在购买服务器创建实例时,可以在镜像市场选择 ...
- 文本分类模型_文本分类中的经典深度学习模型
众所周知,文本分类是NLP领域中十分基础的任务,大部分文本分类模型稍加修改就可以应用到其他任务中.下面介绍几个经典的文本分类模型. 图中被引数来源google学术(2019/5/16) 1. text ...
- nlp中的经典深度学习模型(二)
attention和transformer都是面试重点. 文章目录 3 seq2seq+Attention 3.1 Sequence to Sequence Model 3.1.2 模型介绍 3.1. ...
- nlp中的经典深度学习模型(一)
文章目录 1 DNN与词向量 1.1 DNN 1.2 skip-gram 1.3 简单句子分类模型DAN 2 RNN+LSTM+GRU 2.1 RNN 2.2 LSTM 2.3 LSTM变种 2.4 ...
- 怎么装python的keras库_matlab调用keras深度学习模型(环境搭建)
matlab没有直接调用tensorflow模型的接口,但是有调用keras模型的接口,而keras又是tensorflow的高级封装版本,所以就研究一下这个--可以将model-based方法和le ...
- 【基于 docker 的 Flask 的深度学习模型部署】
文章目录 1.前言 2.docker简介 3.基于Falsk的REST API实现 4.编写dockerfile 5.基于docker的模型部署 1.前言 模型部署一直是深度学习算法走向落地的重要的一 ...
- 喜马拉雅基于阿里云机器学习平台PAI-HybridBackend的深度学习模型训练优化实践
喜马拉雅作者:李超.陶云.许晨昱.胡文俊.张争光.赵云鹏.张玉静 喜马拉雅AI云借助阿里云提供的HybridBackend开源框架,实现了其推荐模型在 GPU 上的高效训练. 业务介绍 推荐场景是喜马 ...
- Roofline Model与深度学习模型的性能分析
作者:Michael Yuan 链接:hhttps://zhuanlan.zhihu.com/p/34204282 本文转载自知乎,作者已授权,未经许可请勿二次转载 最近在不同的计算平台上验证几种经典 ...
最新文章
- 膨胀腐蚀操作(MATLAB)
- 交通运输部部长李小鹏谈及自动驾驶:包容失败、反对垄断,力争在国家层面出台指导意见...
- 【转】mysql,mysqli,PDO三种方式连接数据库
- mysql 值到99999后不增值了_MySQL数据库之更新语句精解(一)
- 第二章 rabbitmq在mac上的安装
- linuxoracle静默安装应答文件修改_Oracle 19c的examples静默安装
- GCC编译器和GDB调试器常用选项
- tomcat配置url跳转_web和tomcat的区别
- 4乘4方格走的路线_国庆自驾游,4条成都出发沿途美景大汇合自驾游路线推荐
- Dropbox 开源其 Go 语言库 —— godropbox
- 1133 Splitting A Linked List
- java redis sortedset_Jedis操作Redis--SortedSet类型
- 程序员入门编程,看这10本书,少走10年弯路
- 基于 FFMPEG 的视频解码(libavcodec ,致敬雷霄骅)
- 象棋军师app已经上线
- 自媒体运营技巧之抖音快手怎么上热门
- 关于gitlab Web IDE功能使用
- Internet随笔
- mac os 开启redis_在Mac os x 安装 Redis
- string转map报错