简介
废弃清除了1.0版本的多数API,使用了高级核心API,tf.Keras。
Eager模式,代码直接运行,直观调试。
tf.GradientTape
求解梯度,自定义训练逻辑。
tf.data 加载图片数据和结构化数据
tf.fuction 自动图运算
TensorFlow2.0版本安装
Miniconda是最小的conda安装环境。
线性回归:y = ax + b
# -*- coding: UTF-8 -*-
# Author: LGD
# FileName: test
# DateTime: 2020/10/20 17:00
# SoftWare: PyCharm
import pandas as pd
import matplotlib.pyplot as plt
import tensorflow as tf
# 线性规划 f(x)=ax+b
data = pd.read_csv("Income1.csv")
print(data)
# 画散点图,参数一x轴;参数二y轴
plt.scatter(data.Education, data.Income)
plt.show()
# 预测目标与损失函数
# 预测值与损失值之间的误差最小,如何定义最小误差
# 使用均方差来定义损失函数
# 找到合适的a,b使均方差最小
# 使用梯度下降算法来做优化,找到合适的a,b
x = data.Education
y = data.Income
print(x, y)
# 一个顺序化模型
model = tf.keras.Sequential()
# 初始化模型,添加层, 输入维度是1, 输出维度也是1
model.add(tf.keras.layers.Dense(1, input_shape=(1,)))
model.summary() # ax + b
# 编译模型,或者叫着配置模型
model.compile(
optimizer='adam', # 优化方法,沿着梯度下降优化,此方法默认学习速率0.01
loss='mse' # 损失函数,使用均方差优化,‘mse’
)
# 训练
history = model.fit(x, y, epochs=5000)
print(history)
# 预测
print(history.predict(x))
print(history.predict(pd.Series([20])))