当前位置 博文首页 > hallobike的博客:TensorFlow2.0简介和线性回归

    hallobike的博客:TensorFlow2.0简介和线性回归

    作者:[db:作者] 时间:2021-09-14 22:02

    简介

    废弃清除了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])))
    
    cs
    下一篇:没有了