TensorFLow框架内构建了很多高层次的API,可以显著减少编写程序的代码量,其中包含众多网络结构相关函数和数据载入、数据处理的方法。
tf.data.Dataset
tf.data.Dataset是TensorFlow内置的数据输入模块,提供了专门用于数据输入的多种方法,可以高效地实现数据载入、数据增强和数据随机乱序等功能。例如,最简单的数据载入方法就是从列表中载入张量数据。
在虚拟环境的命令行中输入python,打开交互命令行,使用import tensorflow as tf 导入tensorFlow包,然后执行 tf.enable_eager_execution()方法开启TensorFlow的动态图模式,使用方法将列表[1,2,3]按第一个维度转换为张量Tensor,代码和运行结果如下图所示:
import tensorflow as tf
tf.enable_eager_execution()
dataset=tf.data.Dataset.from_tensor_slices([1,2,3])
for element in dataset:print(element)
tf.layers
tf.layers是TensorFlow内置的构建神经网络的模块,在TensorFlow2.x中被移除,其中封装了很多底层的函数和基本的神经网络结构,在熟悉TensorFlow底层后可以直接使用tf.layers提供的高级API实现各种复杂的建模任务,能够省去大量的代码。
Keras
Keras库是最常用的TensorFlow高级核心API,隐藏了数据流和底层结构的很多细节,其库中具有大量可直接使用的神经网络结构和常用模块。Keras的代码完全由Python编写,在使用TensorFlow作为其后端时,较好地兼容了TensorFLow底层的各种库函数和核心模块。对于常见的神经网络层,Keras均实现了完美的封装,简单易用,特别适合初学者构建深度学习模型。
1、导入库
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Dense,Dropout,Flatten,Conv2D,MaxPooling2D
2、序列构建神经网络模型
#构建模型
model=Sequential()
#序列加入卷积层
model.add(Conv2D(...))
#序列加入池化层
model.add(MaxPooling2D(...))
#序列加入全连接层
model.add(Dense(...))
#序列加入随机失活
model.add(Dropout(...))