文章目录
0.tensorflow安装
推荐使用anaconda配置环境。
- CPU版本
pip install tensorflow==2.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
- GPU版本
pip install tensorflow--gpu==2.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
1. 张量(Tensor)是什么
张量是一个多维数组,与NumPy中的ndarrdy对象类似,tf.Tensor也具有数据类型和形状。如下图所示:
0维张量,即是标量。
在使用张量操作之前需要先导入相应的工具包。
import tensorflow as tf
import numpy as np
基本方法
# 创建int32类型的0维张量,即标量
rank_0_tensor = tf.constan(4)
# 创建float32类型的1维张量
rank_1_tensor = tf.constant( [1.2, 3.0, 4.0] )
# 创建float16类型的二维张量
rank_2_tensor = tf.constant([1, 2],
[3, 4], dtype = tf.float16 )
可以继续增加维度,同理。
2. tensor转numpy
np.array( tensor )
tensor.numpy()
3. tensor常用函数
# 加法
tf.add(a, b)
# 按照元素相乘
tf.multiply(a, b)
# 张量相乘
tf.matmul(a, b)
# 求和
# 求最大值、最小值
4. 变量
变量是一种特殊的张量,形状不可改变,但是参数可以改变。
# 定义变量
var = tf.Variable([1, 2], [3, 5);
使用 assign方法可以改变变量的属性,但改变的时候一定要保证形状一样,否则会报错。
5. tf.keras
-
tf.keras是tf2.0以后的高阶API接口,官方推荐用tf.keras来进行模型设计和开发
-
tf.keras与keras不完全一样。
6. 有关深度学习
深度学习实现的主要流程:
- 数据获取
- 数据预处理
- 模型创建与训练
- 模型测评与评估
- 模型预测
6.1 导入tf.keras
import tensorflow as tf
from tensorflow import keras
6.2 数据预处理
对于小的数据集,可以直接使用numpy格式的数据进行训练、评估模型,对于大型数据集或者要进行跨设备训练时使用tf.data.datasets来进行数据输入。
6.3 模型构建
- 简单模型使用Sequential进行构建
- 复杂模型使用函数是编程来构建
- 自定义layers
6.4 模型训练与评估
- 配置训练过程: 配置优化方法,损失函数和评价指标
- 训练:指明训练集,epoch,batchSize和验证集数据
- 评估:指明评估数据集和BatchSize
- 预测 :对样本进行预测
7. 回调函数
可以自定义回调函数,也可以使用tf.keras.callbacks内置的回调函数。
8. 模型的保存和恢复
- 只保存参数
model.save_weights("./xxx.xxx");
model.load_weights("./xxx.xxx");
- 保存整个模型
model.save("./xxx.h5");
model.keras.models.load_model("./xxx.xxx");