任何曾经试图在 Python 中只利用 NumPy 编写神经网络代码的人都知道那是多么麻烦。编写一个简单的一层前馈网络的代码尚且需要 40 多行代码,当增加层数时,编写代码将会更加困难,执行时间也会更长。

TensorFlow 使这一切变得更加简单快捷,从而缩短了想法到部署之间的实现时间。在本教程中,你将学习如何利用 TensorFlow 的功能来实现深度神经网络。

TensorFlow 是由 Google Brain 团队为深度神经网络(DNN)开发的功能强大的开源软件库,于 2015 年 11 月首次发布,在 Apache 2.x 协议许可下可用。截至今天,短短的两年内,其 GitHub 库大约 845 个贡献者共提交超过 17000 次,这本身就是衡量 TensorFlow 流行度和性能的一个指标。

图 1 列出了当前流行的深度学习框架,从中能够清楚地看到 TensorFlow 的领先地位:

图 1 TensorFlow的领先地位示意图

先来了解一下 TensorFlow 究竟是什么,以及它为什么在 DNN 研究人员和工程师中如此受欢迎。

开源深度学习库 TensorFlow 允许将深度神经网络的计算部署到任意数量的 CPU 或 GPU 的服务器、PC 或移动设备上,且只利用一个 TensorFlow API。你可能会问,还有很多其他的深度学习库,如 Torch、Theano、Caffe 和 MxNet,那 TensorFlow 与其他深度学习库的区别在哪里呢?包括 TensorFlow 在内的大多数深度学习库能够自动求导、开源、支持多种 CPU/GPU、拥有预训练模型,并支持常用的NN架构,如递归神经网络(RNN)、卷积神经网络(CNN)和深度置信网络(DBN)。

TensorFlow 则还有更多的特点,如下:

  • 支持所有流行语言,如 Python、C++、Java、R和Go。
  • 可以在多种平台上工作,甚至是移动平台和分布式平台。
  • 它受到所有云服务(AWS、Google和Azure)的支持。
  • Keras——高级神经网络 API,已经与 TensorFlow 整合。
  • 与 Torch/Theano 比较,TensorFlow 拥有更好的计算图表可视化。
  • 允许模型部署到工业生产中,并且容易使用。
  • 有非常好的社区支持。
  • TensorFlow 不仅仅是一个软件库,它是一套包括 TensorFlow,TensorBoard 和 TensorServing 的软件。

谷歌 research 博客列出了全球一些使用 TensorFlow 开发的有趣项目:

  • Google 翻译运用了 TensorFlow 和 TPU(Tensor Processing Units)。
  • Project Magenta 能够使用强化学习模型生成音乐,运用了 TensorFlow。
  • 澳大利亚海洋生物学家使用了 TensorFlow 来发现和理解濒临灭绝的海牛。
  • 一位日本农民运用 TensorFlow 开发了一个应用程序,使用大小和形状等物理特性对黄瓜进行分类。

使用 TensorFlow 的项目还有很多。本教程旨在让读者理解 TensorFlow 在深度学习模型中的应用,使读者可以轻松地将模型用于数据集并开发有用的应用程序。

以上初步讲解完毕之后,在这里分享 TensorFlow初学视频教程,内容如下

(1)Tensorflow简介与环境搭建

简要介绍了tensorflow是什么,详细介绍了Tensorflow历史版本变迁以及tensorflow的架构和强大特性。并在Tensorflow1.0、pytorch、Tensorflow2.0之间做了对比。最后通过实战讲解了在Google cloud和AWS两个平台上的环境配置。

(2)Tensorflow keras实战

详细讲解如何使用tf.keras进行模型的搭建以及大量的深度学习的理论知识。理论知识包括分类问题、回归问题、损失函数、神经网络、激活函数、dropout、批归一化、深度神经网络、Wide&Deep模型、密集特征、稀疏特征、超参数搜索等及其在图像分类、房价预测上的实现。...

(3) Tensorflow基础API使用

接上一节课中使用高级抽象的API tf.keras搭建模型,本节课则介绍了基础的API来方便大家更加灵活的定义和使用模型。课程内容包括tensorflow基础数据类型、自定义模型和损失函数、自定义求导、tf.function、图结构等以及其在图像分类、房价预测上的实现。...

需要的小伙伴可点击进入扣群下载,群内不定期的会分享资料教程,点击直达链接:https://jq.qq.com/?_wv=1027&k=55fzJrT

最新文章

  1. 用Mindjet MindManager 15 打开文件后停止响应的解决方法
  2. String使用机制及string.equals()和==的区别(转)
  3. sessionId在fragment里无法保存的问题
  4. SharePoint开发 - 自定义页面(错误页、登出页)
  5. c++中string类的详解
  6. 简单的自绘CListBox,重载虚MeasureItem和DrawItem这两个虚函数
  7. poj 2367 Genealogical tree【拓扑排序输出可行解】
  8. BC 65 game
  9. 【ASP.NET Web API教程】2.4 创建Web API的帮助页面
  10. Redis协议详解
  11. JAVA编码互转(application/x-www-form-urlencoded)
  12. centos 下安装mysql-5.6.11
  13. spring-boot-2.0.3启动源码篇五 - run方法(四)之prepareContext
  14. [py]python之信用卡ATM
  15. mysql5.6下载&安装
  16. MYSQL 两日期之间的工作日(除去周六日,不考虑节假日)
  17. mac 的全文搜索
  18. RDS for MySQL 如何使用 Percona Toolkit
  19. (转)聊聊Servlet、Struts1、Struts2以及SpringMvc中的线程安全
  20. Does Daemon Thread Exit with Main Thread?

热门文章

  1. 为何stop()和suspend()方法不推荐使用(转)
  2. openstack问题记录
  3. .Net Core 商城微服务项目系列(三):Ocelot网关接入Grafana监控
  4. 死磕 java线程系列之创建线程的8种方式
  5. laravel基础操作手册
  6. Redis 的底层数据结构(跳跃表)
  7. 那些初学python犯过的小白错误(学习笔记1)
  8. idea中的java web项目(添加jar包介绍)和java maven web项目目录结构
  9. day 19作业
  10. display:box和display:flex属性介绍