欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

深度学习入门demo:样本数据为y=0.7x+3.1函数的模型训练过程

程序员文章站 2022-04-08 09:02:24
...

案例简介:样本数据为y=0.7x+3.1函数的样本随机点;通过建立模型、训练优化最后预测出这些样本可以用哪个模型来保存,为之后的样本扩大提供了基础。

具体代码如下

# -*- coding: utf-8 -*-
"""
Created on Thu Jun  4 17:58:43 2020

@author: Dell
"""
#深度学习:根据样本数据,构建一个足够准确的模型
import tensorflow as tf
import numpy as np
x1=np.random.rand(300)#随机生成300个点
y1=x1*0.7+3.1#这为样本数据
#构建、训练模型
b=tf.Variable(0.)
k=tf.Variable(0.)
y=k*x1+b#构建的模型
#定义二次代阶函数 使模型的参数尽量准确
loss=tf.reduce_mean(tf.square(y1-y))#使真实值与模型预测值足够接近
#定义一个梯度下降法训练优化器
optimizer=tf.train.GradientDescentOptimizer(0.3)
#最小化上头定义的待代阶函数
train=optimizer.minimize(loss)

#初始化变量
initial=tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(initial)
    for count in range(402):
        sess.run(train)
        if count%100==0:
            print(count,":",sess.run([k,b]))
        if count==401:
             print(count,"_end:",sess.run([k,b]))

结果分析:

具体结果如下图,一共训练了402次,可以看出最后的k与b已经接近样本数据的参数。

深度学习入门demo:样本数据为y=0.7x+3.1函数的模型训练过程