TensorFlow 2.0

前言

Tensorflow是Google推出的机器学习开源神器,对Python有着良好的语言支持,支持CPU,GPU和Google TPU等硬件,并且已经拥有了各种各样的模型和算法。目前,Tensorflow已被广泛应用于文本处理,语音识别和图像识别等多项机器学习和深度学习领域。基础框架分为三层:应用层、接口层和核心层。
应用层:提供了机器学习相关的训练库、预测库和针对Python、C++和Java等变成语言的编程环境,类似于web系统的前端,主要实现了对计算图的构造。
接口层:对Tensorflow功能模块的封装,便于其它语言平台的调用。
核心层:最重要的部分,包括设备层、网络层、数据操作层和图计算层,执行应用层的计算。

  1. 设备层:包括Tensorflow在不同硬件设备上的实现,主要支持CPU、GPU和Mobile等设备,在不同硬件设备上实现计算命令的转换,给上层提供统一的接口,实现程序的跨平台功能。
  2. 网络层:网络层主要包括RPC和RDMA通信协议,实现不同设备之间的数据传输和更新,这些协议都会在分布式计算中用到。
  3. 数据操作层:以tensor为处理对象,实现tensor的各种操作和计算。
  4. 图计算层:包括分布式计算图和本地计算图的实现,实现图的创建、编译、优化和执行等。

面对初学者的快速入门

我们首先将TensorFlow 2.0安装的电脑中,我用的是Jupyter Notebook,来实现下述代码的。我们首先将TensorFlow载入到程序,然后载入并准备好MNIST测试集。将样本从整数转换为浮点数。将模型的各层堆叠起来,以搭建tf.keras.Sequential模型,以训练选择优化器和损失函数,最后进行训练并验证模型。

import tensorflow as tf  #程序中引入tensorflow库

以下代码为数据集的引入:

mnist = tf.keras.datasets.mnist #引入数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train/255.0, x_test/255.0
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'])

tf.keras.models.Sequential()用法

tf.keras.models.Sequential([网络结构])#描述各层的网络
网络结构举例:
①拉直层:tf.keras.layers.Flatten()# 拉直曾可以变换张量的尺寸,把输入特征拉直为一维数组,其不含计算参数。
②全连接层tf.keras.layers.Dense(神经元的个数, activation=‘激活函数’,kernel_regularizer=‘正则化方式’)
③tf.keras.layers.Dropout()为将Dropout应用到输入,其有三个参数。

model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test, verbose=2)
Epoch 1/5
1875/1875 [==============================] - 4s 2ms/step - loss: 0.0669 - accuracy: 0.9783
Epoch 2/5
1875/1875 [==============================] - 4s 2ms/step - loss: 0.0604 - accuracy: 0.9808
Epoch 3/5
1875/1875 [==============================] - 5s 2ms/step - loss: 0.0551 - accuracy: 0.9822
Epoch 4/5
1875/1875 [==============================] - 4s 2ms/step - loss: 0.0502 - accuracy: 0.9836
Epoch 5/5
1875/1875 [==============================] - 4s 2ms/step - loss: 0.0449 - accuracy: 0.9853
313/313 - 1s - loss: 0.0682 - accuracy: 0.9802 - 600ms/epoch - 2ms/step[0.06823256611824036, 0.9801999926567078]

model.fit(训练集的输入特征,训练集的标签,batch_size #每个batch的大小,epochs,#迭代次数,validation_data=(测试集的输入特征,测试集的标签),validation_split=从测试集中划分多少比例给训练集,validation_freq=测试的epoch间隔数)#用于执行训练过程

model.evaluate(输入测试数据, 真实标签,控制日志显示的方式(verbose:'0’不在标准输出流输出日志信息’1’输出进度条记录’2’每个epoch输出一行记录,默认值为1) )

1.TensorFlow快速入门相关推荐

  1. Tensorflow快速入门2--实现手写数字识别

    Tensorflow快速入门2–实现手写数字识别 环境:  虚拟机ubuntun16.0.4  Tensorflow 版本:0.12.0(仅使用cpu下) Tensorflow安装见:  http:/ ...

  2. 少走弯路:强烈推荐的TensorFlow快速入门资料(可下载)

    (图片付费下载自视觉中国) 作者 | 黄海广 来源 | 机器学习初学者(ID: ai-start-com) 知识更新非常快,需要一直学习才能跟上时代进步,举个例子:吴恩达老师在深度学习课上讲的Tens ...

  3. 带你少走弯路:强烈推荐的TensorFlow快速入门资料和翻译(可下载)

    知识更新非常快,需要一直学习才能跟上时代进步,举个例子:吴恩达老师在深度学习课上讲的TensorFlow使用,这个肯定是他近几年才学的,因为谷歌开源了TensorFlow也就很短的时间. 吴恩达老师以 ...

  4. python猫狗大战游戏下载_带你少走弯路:强烈推荐的TensorFlow快速入门资料和翻译(可下载)...

    知识更新非常快,需要一直学习才能跟上时代进步,举个例子:吴恩达老师在深度学习课上讲的TensorFlow使用,这个肯定是他近几年才学的,因为谷歌开源了TensorFlow也就很短的时间. 吴恩达老师以 ...

  5. 【TensorFlow】TensorFlow快速入门

    TensorFlow背景   在介绍TensorFlow(以下简称为TF)之前,我们首先了解一下相关背景.   TF是一种机器学习框架,而机器学习经常和人工智能,深度学习联系在一起,那么三者到底是什么 ...

  6. TensorFlow:AI工程师的快速入门实战利器

    经过几年的发展,深度学习已经成为人工智能领域最热门的技术.谷歌.亚马逊.百度.Facebook 纷纷开源了自己的深度学习框架. 在众多框架中,TensorFlow 凭借其强劲的运算性能.高效的超大集群 ...

  7. tensorflow从入门到精通100讲(七)-TensorFlow房价预估使用Keras快速构建模型

    前言 这篇文章承接上一篇tensorflow从入门到精通100讲(二)-IRIS数据集应用实战 https://wenyusuran.blog.csdn.net/article/details/107 ...

  8. TensorFlow.js快速入门

    by Pau Pavón 通过保罗·帕文(PauPavón) TensorFlow.js快速入门 (A quick introduction to TensorFlow.js) TensorFlow ...

  9. TensorFlow 2.0 快速入门指南 | iBooker·ApacheCN

    原文:TensorFlow 2.0 Quick Start Guide 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则>,生活 ...

最新文章

  1. 【深度学习】(6) tensorflow2.0使用keras高层API
  2. Struts2——学习(5):页面跳转
  3. 越阳刚的男人越容易生女孩
  4. python 判断图片是否损坏_检查图片是否损坏、图片后缀是否与实际图片类型对应 - Python...
  5. 安装apache2.4.10
  6. eclipse 插件打包发布
  7. 蓝牙扫描过程解析_智慧定位系统之蓝牙网关在室内定位技术的原理浅析-新导智能...
  8. j2ee中如何拦截jsp页面?
  9. jdbc 通过反射和元数据编写通用的查询对象方法
  10. Map与JSON数据之间的互相转化
  11. Android获取系统字体的大小,修改android系统字体大小
  12. WinAPI 数据类型
  13. 阿里巴巴线上面试总结
  14. 听说看了这篇文章就彻底搞懂了什么是OPC(上)
  15. windows磁盘管理压缩卷只能压缩一部分的问题解决办法
  16. 大数据系统包含哪些组件?需要过等保吗?
  17. 基于Tofu的热红外、多波段目标识别跟踪系统
  18. iPhone中通过ics来添加农历与天气预报
  19. 用自己的数据集训练C3D和tensorboard的使用
  20. Python+pyc文件编译和运行

热门文章

  1. 什么是VOIP-网络电话名词详解
  2. JMeter 进行压力测试
  3. 玩转Jetson Nano(一)烧写系统
  4. javascript 鸡兔同笼问题(抛砖引玉)
  5. 数据库之OrmLite的简单学习:增删改查_两个表
  6. 字典树c语言,字典树的应用 单词意义查找-C语言实现
  7. 深入理解Java虚拟机(周志明第三版)- 第八章:虚拟机字节码执行引擎
  8. 免费苹果CMS影视站采集器影视站SEO优化教程
  9. newman工具的运用
  10. 《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》——1.3 微信公众平台的使用...