Tensorflow简介
Tensorflow 是Google的开源的一个端到端开源机器学习平台:
- 采用数据流图,用于数据计算
- 支持多种平台——CPU,CPU+GPU
- 起初用于深度学习,变得越来越通用
下图是数据流图示意图,有以下几个部分:
- 节点——处理数据
- 线——节点间的输入输出关系
- 线上运输张量
- 节点被分配到各种计算设备上运行
而在机器学习中,数值通常由4种类型构成:
- 标量(scalar):即一个数值,它是计算的最小单元,如“1”或“3.2”等。
- 向量(vector):由一些标量构成的一维数组,如[1, 3.2, 4.6]等。
- 矩阵(matrix):是由标量构成的二维数组。
- 张量(tensor):由多维(通常)数组构成的数据集合,可理解为高维矩阵。
Tensorflow2.0的特性
TensorFlow 2.0 将专注于简洁性和易用性,主要升级方向包括:
- 使用 Keras 和 eager execution 轻松构建模型。
- 在任意平台上实现稳健的生产环境模型部署。
- 为研究提供强大的实验工具。
- 通过清理废弃的 API 和减少重复来简化 API。
在tensorflow2.0 中,模型从构建到上线一般是以下步骤:
- 用tf.data加载数据,使用 tf.feature_column描述特征特性,例如离散特征,密集特征乃至于交叉特征。支持从多种文件格式中读取数据。
- 使用tf.keras、预定义和自定义Estimators构建、训练和验证模型。Keras 与 TensorFlow的其余部分紧密集成,因此你可以随时访问 TensorFlow 的功能。如果不想从头开始训练一个模型,你很快就能通过TensorFlow Hub模块利用迁移学习来训练Keras或 Estimator模型。
- 用eager execution运行和调试,然后在计算图上使用 tf.function。TensorFlow 2.0默认用 eager execution 运行,相对于1.0来说使用更加轻松、调试更加顺利。此外,tf.function标注可以将普通Python程序转换成 TensorFlow图。这个过程保留了 TensorFlow1.x 基于计算图执行的所有优点:性能优化、远程执行,以及序列化、导出和部署的能力,同时增加了用简单Python表达程序的灵活性和易用性。
- 使用分布式策略进行分布式训练。对于大部分机器学习训练任务来说,分布式策略API使得在不同的硬件配置上分布和训练模型变得很容易,而无需改变模型定义。
- 导出至 SavedModel。TensorFlow 将在 SavedModel 上标准化,来作为 TentsorFlow Serving、TensorFlow Lite、TensorFlow.js、TentsorFlow Hub 等的交换格式。
本地环境搭建
安装anaconda
官网 https://www.anaconda.com/distribution/ 自行下载安装即可:
安装 tensorflow
安装完成后就可以使用Anaconda Prompt命令行界面安装 tensorflow 2.0了。使用清华源提升下载速度的pip命令如下:
pip install pip -U # 升级 pip 到最新的版本 (>=10.0.0) 后进行安装
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
然后使用图中的pip命令选择性的安装cpu或者gpu版本的即可。
这样,就可以开始使用tensorflow 2.0了。
但是鉴于自己电脑配置限制,推荐选择云平台进行tensorflow的环境搭建。