手把手教你入门使用 tf-slim 库 | 回顾
来源:互联网 发布:李宗仁故居风水数据 编辑:程序博客网 时间:2024/06/07 02:37
tf-slim 是基于 tensorflow 的高层封装库,包含了目前最新的 reset-net,Google-Inception 等网络的实现及图像处理算法,支持多 GPU 并行。使用 tf-slim 库,可以帮助你快速搭建图像处理 (包括分类,分割) 的生产环境,快速开发初代产品。本文内容为来自北京信息科技大学计算机应用技术专业研二在读生吴正一讲解的怎么快速入门 tf-slim。
近期,在雷锋网 AI 研习社举办的线上分享会上,来自北京拓尔思研发部三部图像处理实习生吴正一为大家详细介绍了 tf-slim 库的入门使用知识,注意事项,以及显卡选购和机器配置。
吴正一,北京信息科技大学计算机应用技术专业研二在读。目前在北京拓尔思信息技术股份有限公司,担任研发三部图像处理实习生,负责专利图像检索系统开发; 主要研究方向为计算机视觉与深度学习。
以下是他在 AI 研习社直播的分享内容整理:
大家好,我是来自北京信息科技大学计算机应用技术专业研二在读生吴正一,目前是拓尔思图像组实习。今天的分享主题是 tf-slim 怎样快速上手,主要讲基于 TensorFlow 的高层封装库 tf-slim 入门知识。
分享提纲
装 tensorflow-gpu, 配置 tf-slim 环境
使用 tf-slim 训练自己的数据,以及将原始图像转换成 .tfrecord 数据文件
使用 tf-slim 加载 tfrecord 训练图像分类模型
使用训练好的模型对单张图像分类
GPU 的选购和机器配置等
tf-slim 适用于快速处理工作上大型图像数据。之所以它能处理大型图像数据,是因为他有一个很好的数据处理过程,它能把原始的图像转换成 .tfrecord 队列格式,读取特别快,也更加稳定。
tf-slim 优点:
有最新的的网络实现和预训练模型,能够快速产出。谷歌把一些最新的,最重要的大型网络已经实现好了,封装在 tf-slim 里面,可直接调用。
标准化的数据处理模板,适用于大型数据集。这个是比其他要好,假设处理一些数据,还要处理各种图像,这个提供了一套标准化数据处理,
多 GPU 并行训练,快速产出
基于 TensorFlow,可实现精细化操控
原生 TensorFlow 框架可比作为汽车配件、钢板原材料,Keras 可比作发动机、车轮、车模型,Keras 改源代码比较麻烦。tf-slim 可比作一辆整车,但是又可以拆卸,因为它把最新的网络实现和预训练模型已经写好了,既封装了 一些网络实现,又能实现精细化的操作(可改源代码)。
tf-slim 配置
1、配置 GPU 版本的 TensorFlow,
2、加载 tf-slim 库
使用 tf-slim 训练自己的模型
以上具体参数可在文末视频中观看。实际上用的时候,不可能和网上一样,不可能一个文件跑到底。从训练最后一层开始,以及验证,然后再训练所有,再验证,分四个文件来跑。
视频中看 scripts,可看到数据流动的过程。
将数据转换成 .tfrecord 文件
训练模型
从第一个文件开始训练,第二个验证,第三个慢慢调参,第四个再验证。需要注意的是 checkpoint 文件的用法,它可以支持断点,如果训练停了之后,下一次它可以从最新的模型接着训练。如果不需要接着上一次继续训练,要把整个 checkpoint 文件删掉。
使用 model 分类测试图像
这里有一个坑需要注意一下,tf-slim 未提供单张图像的预测脚本,自己用的时候需要写一个单张图片加载模型,以及单张图片的分类。
选购 GPU 的考虑及性价比对比,横坐标是性能,纵坐标为价格。
TensorFlow 模型训练效率对比效果
待验证:1080 GPU 在主机上的训练速度,双 1080/1080Ti GPU 的训练速度提升问题(修改 TensorFlow 网络架构)。
购买显卡,主板等硬件注意事项:
主板需要支持 SLI(专为 Nividia 显卡)双路连接技术。
双显卡之间需要使用桥接器连接。如图一所示,分硬联和软联,硬联不可弯折。
主板支持 PCI-E*16 插槽,装两张显卡需要至少两个 PCI-E*16 插槽(考虑到显卡占用较大物理空间,PCI-E*16 插槽最好是和 PCIE*1 插槽交叉排列。)
显卡电源线接在电源上,GTX1080 等高端消费级显卡需要 4*2pin 的电源接口。
以上就是吴正一分享的主要内容。点击阅读原文,直达视频回放页面。
新人福利
关注 AI 研习社(okweiwu),回复 1 领取
【超过 1000G 神经网络 / AI / 大数据,教程,论文】
点击阅读原文,观看完整视频
▼▼▼
- 手把手教你入门使用tf-slim库 | 回顾
- 手把手教你入门使用 tf-slim 库 | 回顾
- 手把手教你如何应用TF-Slim快速实现迁移学习
- 【git入门】手把手教你使用Git
- 手把手教你使用Git--Git入门
- TF-slim
- tensorflow slim【TF-Slim】
- 解决使用tf.slim找不到slim.utils函数问题
- 使用 TF-Slim 设计复杂网络
- 手把手教你Dojo入门
- 手把手教你入门--Pycharm
- 手把手教你入门--Pycharm
- 手把手教你ARC——ARC入门和使用
- 手把手教你ARC——ARC入门和使用
- 手把手教你ARC——ARC入门和使用
- 手把手教你ARC——ARC入门和使用
- 手把手教你ARC——ARC入门和使用
- 手把手教你ARC——ARC入门和使用
- 20171218Capstone培训班
- day 41 PHP安装
- Python学习笔记之文件操作
- 如今目标检测领域已被深度学习占领,yolo 等算法性能表现都不错,那还有什么坑可以挖的么?| 社区问答
- 如何利用paddlepaddle做一个简单的聊天机器人 | 公开课
- 手把手教你入门使用 tf-slim 库 | 回顾
- 深度学习中 GPU 和显存分析
- C 运算符优先级
- C++ break 和 cintinue
- Amoeba实现Mysql主从复制读写分离
- Butterknife原理解析
- 关于Qt中LOGO与窗口图标显示问题的总结
- SSD固态硬盘优化方案,让新买的SSD速度不再慢
- VC/MFC 从WebBrower 中获取 HTML 和文本