专栏首页用户5033944的专栏【TensorFlow2.x开发—基础】 简介、安装、入门应用案例
原创

【TensorFlow2.x开发—基础】 简介、安装、入门应用案例

前言

本文介绍最新版本的TensorFlow开发与应用,目前最新版本是TensorFlow2.5.0;首先简单介绍一下TensorFlow,然后安装TensorFlow2,最后使用TensorFlow开发。

一、简介

1.1)什么是TensorFlow?

TensorFlow 是一种用于表达机器学习算法的接口,也是一种用于执行此类算法的实现。它是端到端的方式进行机器学习开发,可以帮助我们开发和训练机器学习模型。

可用于表达各种各样的算法(包括用于深度神经网络模型的训练和推理算法),并且已用于进行研究以及将机器学习系统部署到计算机科学等十几个领域中,包括语音识别、计算机视觉、机器人、信息检索、自然语言处理、地理信息提取和计算药物发现。

我们可以使用 Sequential API 来使用TensorFlow,也可以使用Keras API 调用TensorFlow开源库。初学者推荐使用Keras API ,功能完善,便于开发。

在之前,TensorFlow1.x和Keras是分开的,但很多开发者觉得Keras API更友好,开发起来更高效,原生的TensorFlow API过于麻烦;后来TensorFlow2.x合并了Keras,在TensorFlow中能直接使用Keras API。

常见的应用开发:

TensorFlow 使用数据流计算图来表示计算、共享状态以及使该状态发生突变的运算。

参考:https://www.tensorflow.org/

1.2)TensorFlow 特点

  1. 轻松地构建模型:使用 Keras 等直观的高阶 API 轻松地构建和训练机器学习模型,该环境使我们能够快速迭代模型并轻松地调试模型。
  2. 支持多语言:支持Python、C++、Java等主流语言。
  3. 灵活开发:支持云端、本地、浏览器中或设备上轻松地训练和部署模型。
  4. 强大的研究经验:一个简单而灵活的架构,可以更快地将新想法从概念转化为代码,然后创建出先进的模型,并最终对外发布。

1.3)TensorFlow的发展历程

2011:DistBelief 2015.11:TensorFlow 0.5.0 2017.02:TensorFlow 1.0

  1. 高层API,将Keras库整合进其中
  2. 动态图机制:Eager Execution
  3. 面向移动智能终端:TensorFlow Lite
  4. 面向网页前端:TensorFlow.js
  5. 自动生成计算图:AutoGraph

2019:TensorFlow 2.0

ps:目前最新版本是TensorFlow2.5.0

1.4)TensorFlow2.0 框架

1、多种环境支持

  • 可运行于移动设备、个人计算机、服务器、集群等
  • 云端、本地、浏览器、移动设备、嵌入式设备

2、支持分布式模式

  • TensorFlow会自动检测GPU和CPU,并充分利用它们并行、分布的执行

3、简洁高效

  • 构建、训练、迭代模型:Eager Execution,Keras
  • 部署阶段:转化为静态图,提高执行效率。

4、社区支持

1.5)TensorFlow 被使用情况

我们看看下图,使用 TensorFlow 的公司:

不得不说,有这么多巨头公司都使用,说明还是很不错的。

1.6)小结

TensorFlow 是一种在大规模和异构环境中运行的机器学习系统,它是端到端的方式进行机器学习开发,可以帮助我们开发和训练机器学习模型。

相关链接

TensorFlow 开源代码

TensorFlow博客

二、安装TensorFlow

pip方式安装

2.1)支持系统

  • Ubuntu 16.04 或更高版本
  • Windows 7 或更高版本
  • macOS 10.12.6 (Sierra) 或更高版本(不支持 GPU)
  • Raspbian 9.0 或更高版本

2.2)语言版本 Python 3.5~3.8

2.3)安装TensorFlow TensorFlow 2 软件包需要使用高于 19.0 的 pip 版本。

a.最新版本安装

pip install --upgrade pip
pip install tensorflow

如果安装过程慢,试试这添加:-i https://mirrors.aliyun.com/pypi/simple/ 指定阿里云的软件源地址,在国内较快,即:

pip install tensorflow -i https://mirrors.aliyun.com/pypi/simple/

b.指定版本安装

比如指定安装2.4.1版本的,执行如下命令:pip install tensorflow==2.4.1

查看是否安装成功

Docker方式安装

https://www.tensorflow.org/install/docker

源代码构建

官方已经很详细了,建议直接参考官方的教程。

Linux 和 macOS :https://www.tensorflow.org/install/source

Windows:https://www.tensorflow.org/install/source_windows

三、入门应用案例

这里我们使用经典数据集MNIST,识别手写数字(0,1,2,3,4,5,6,7,8,9);

# 导入 TensorFlow
import tensorflow as tf

# 加载入MNIS 数据集
mnist = tf.keras.datasets.mnist

# 加载的数据分位训练集、测试集;
# 由于图片的像素范围是0~255,我们把它变成0~1的范围,于是每张图像(训练集、测试集)都除以255。
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

# 模型结构是各层堆叠起来的,使用搭建 tf.keras.Sequential模型即可。
# 选择训练选择优化器和损失函数。
model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

# 训练并验证模型:
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test,  y_test, verbose=2)

代码分析一下:

这个照片分类器的准确度已经达到 98%

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • TensorFlow2 开发指南 | 01 手写数字识别快速入门

    在上一个专栏【TF2.0深度学习实战——图像分类】中,我分享了各种经典的深度神经网络的搭建和训练过程,比如有:LeNet-5、AlexNet、VGG系列、Goo...

    AI菌
  • 『带你学AI』开发环境配置之Windows10篇:一步步带你在Windows10平台开发深度学习

    1. 章节一:初探AI(《带你学AI与TensorFlow2实战一之深度学习初探》):(已完成)

    小宋是呢
  • 如何 30 天吃掉 TensorFlow2.0 ?

    Keras可以看成是一种深度学习框架的高阶接口规范,它帮助用户以更简洁的形式定义和训练深度学习网络。

    double
  • Tensorflow Object Detection API 终于支持tensorflow1.x与tensorflow2.x了

    基于tensorflow框架构建的快速对象检测模型构建、训练、部署框架,是针对计算机视觉领域对象检测任务的深度学习框架。之前tensorflow2.x一直不支持...

    OpenCV学堂
  • 掌握TensorFlow1与TensorFlow2共存的秘密,一篇文章就够了

    TensorFlow是Google推出的深度学习框架,也是使用最广泛的深度学习框架。目前最新的TensorFlow版本是2.1。可能有很多同学想跃跃欲试安装Te...

    蒙娜丽宁
  • Android开发之InetAddress基础入门简介与源码实例

    最近在学习soket编程中,看到有需要获取到IP地址之类的需求,所以就去看了下如何获取到主机名的IP地址。

    砸漏
  • TensorFlow2.x GPU版安装与CUDA版本选择指南

    目前Python最新release版本为3.9.0,配合TensorFlow2版本使用目前常见的以Python3.6和3.7,大家根据自己的开发平台选择...

    Color Space
  • 可能是史上最全的Tensorflow学习资源汇总

    在之前的Tensorflow系列文章中,我们教大家学习了Tensorflow的安装、Tensorflow的语法、基本操作、CNN的一些原理和项目实战等。本篇文章...

    用户1737318
  • 史上最全TensorFlow学习资源汇总

    用户1737318
  • 带你入门机器学习与TensorFlow2.x

    本文主要介绍人工智能、机器学习和深度学习的区别,以及软硬件环境的搭建,包括Tensorflow1.x和Tensorflow2.x在同一台机器上如何共存。在后续的...

    蒙娜丽宁
  • 树莓派4B安装Tensorflow的方法步骤

    Tensorflow官方在2018年宣布,正式发布支持树莓派版本的Tensorflow,编者开始直接用:

    砸漏
  • 【干货】史上最全的Tensorflow学习资源汇总

    在之前的Tensorflow系列文章中,我们教大家学习了Tensorflow的安装、Tensorflow的语法、基本操作、CNN的一些原理和项目实战等。本篇文章...

    磐创AI
  • Pytorh与tensorflow对象检测模型如何部署到CPU端,实现加速推理

    对象检测是计算机视觉最常见的任务之一,应用非常广泛,本文主要给给大家价绍两条快速方便的自定义对象检测模型的训练与部署的技术路径,供大家实际项目中可以参考。

    OpenCV学堂
  • 【深度学习】Tensorflow2.x入门(一)建立模型的三种模式

    最近做实验比较焦虑,因此准备结合推荐算法梳理下Tensorflow2.x的知识。介绍Tensorflow2.x的文章有很多,但本文(系列)是按照作者构建模型的思...

    黄博的机器学习圈子
  • Microsoft NNI入门

    【GiantPandaCV导语】Neural Network Intelligence 是一个工具包,可以有效帮助用户设计并调优汲取学习模型的神经网络架构,以及...

    BBuf
  • 详解tensorflow2.x版本无法调用gpu的一种解决方法

    最近学校给了一个服务器账号用来训练神经网络使用,服务器本身配置是十路titan V,然后在上面装了tensorflow2.2,对应的python版本是3.6.2...

    砸漏
  • 微信小程序|调用tensorflow自定义模型

    在成功调用官网打包好的tensorflowjs模型后,怎么调用自己的模型呢?又需要做哪些处理呢?

    算法与编程之美
  • PyTorch入门笔记-PyTorch初见

    2002年 Torch 框架发布,Torch 是一个基于 BSD License 的开源机器学习框架,但是由于 Torch 框架支持的是比较小众的 Lua 开发...

    触摸壹缕阳光
  • 使用OpenCV加载TensorFlow2模型

    Suaro希望使用OpenCV来实现模型加载与推演,但是没有成功,因此开了issue寻求我的帮助。

    小白学视觉

扫码关注云+社区

领取腾讯云代金券