tensorflow学习一 训练y=wx+b

#coding=utf-8
import numpy as np
import tensorflow as tf
import os

#获取训练数据和测试数据
def get_data(number):
    list_x = []
    list_y = []
    for i in range(number):
        x = np.random.randn(1)
        #这里构建的数据的分布满足 y=2*x+10
        y = 2*x+10+np.random.randn(1)*0.01
        list_x.append(x)
        list_y.append(y)
    return list_x,list_y

def inference(x):
    global weight,bias
    #此处生命成全局变量,方便我们输出查看
    #计算
    weight = tf.get_variable("weight",[1])
    bias = tf.get_variable("bise",[1])
    y = x*weight+bias
    return y

train_x = tf.placeholder(tf.float32)
train_lable = tf.placeholder(tf.float32)

test_x = tf.placeholder(tf.float32)
test_lable = tf.placeholder(tf.float32)

with tf.variable_scope("inference"):
    train_y = inference(train_x)
    #在此处定义相同名字的变量是共享变量
    #此句之后的tf.get_variable获取的变量是需要根据变量的名字共享前面已经定义的变量
    #如果之前没有相同名字的变量则会报错
    tf.get_variable_scope().reuse_variables()
    test_y = inference(test_x)

train_loss = tf.square(train_y-train_lable)
test_loss = tf.square(test_y-test_lable)
opt = tf.train.GradientDescentOptimizer(0.002)
train_op = opt.minimize(train_loss)

init = tf.global_variables_initializer()

train_data_x,train_data_lable = get_data(1000)
test_data_x,test_data_lable = get_data(1)

saver = tf.train.Saver()

with tf.Session() as sess:
    sess.run(init)
    if os.path.exists("modules/xaddy.ckpt"):
        saver.restore(sess,"modules/xaddy.ckpt")
    for i in range(1000):
        sess.run(train_op,feed_dict={train_x:train_data_x[i],train_lable:train_data_lable[i]})

        if i %10==0:
            test_loss_value = sess.run(test_loss,feed_dict={test_x:test_data_x[0],test_lable:test_data_lable[0]})
            print("step %d eval loss is %.3f"%(i,test_loss_value))
            print(sess.run(weight))
            print(sess.run(bias))
    saver.save(sess, "modules/xaddy.ckpt")

全部评论

相关推荐

03-27 16:40
已编辑
门头沟学院 C++
26学院本太难了,很多公司机筛就给我刷了。机会都难拿到如果是简历存在问题也欢迎拷打————————————————————分割线——————————————————————2026.3.4更新:发完贴之后,时不时投递又收到了不少的笔试/面试邀请。主要是之前投递简历出去之后基本上都是沉默状态,年后好转了不少timeline:2026.01.21 文远知行笔试,半年多没刷算法题 ->挂 (后续HR说春招可以重新安排笔试)2026.2.4     小鹏汇天 技术一面,第二周收到结果 ->挂2026.2.12   大众Cariad代招 技术二面 ->Offer2026.2.28   多益网络技术面试,由于风评太差,一直在犹豫要不要接面试 ->推迟-----------分割线-----------2026.3 月前的某一天,临时去电网报名了二批计算机岗位的笔试2026.3.6 从上家公司实习离职,氛围最好的一家公司,leader 说可以帮忙转正,但是流程太长,而且我们部门据说只有一个 hc,更想要研究生,我很有可能是会被签外包公司在这里干活,就离职了。2026.3.9 入职新公司,大众Cariad 以外部公司的身份进组,项目组签了三年,后续三年应该都可以在这里呆,不知道有没有希望原地跳槽。2026.3.10 电网考试居然说我通过资格审查了,短信约我去参加资格审查,请假一天,买了 12 号晚上的机票回成都2026.3.15 参加国家电网计算机类笔试2026.3.17 电网出成绩了,感觉很低。觉得已经🈚️了2026.3.18 收到电网面试通知,通知 3.22-3.25 这个时间去面试,我的岗位只招 1 个人。据说面试只有 2-3 人,不知道能不能成功----------分割线-----------2026.3.21 电网面试结束,感觉回答的还勉勉强强,大概是2个岗位分别招1个人,一共11人面试,实际来了9人2026.3.27 出面试成绩,满分100分,早上10:20左右发现面试成绩46,我震惊了,没截图,后面过了十分钟重新看发现面试成绩给我改成58了。但同样震惊。朋友问我是不是把面试官打了,哈哈
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
03-19 10:38
实力求职者:真的绷不住了,第一张霸总人设,第二张求生欲拉满
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务