tensorflow中模型的保存和恢复

本文通过使用TensorFlow实现线性回归模型,演示了如何训练模型以预测数据。代码中定义了占位符、变量及损失函数,并采用梯度下降优化器进行训练。此外,还介绍了模型保存与恢复的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import tensorflow as tf
import numpy as np
x = tf.placeholder(tf.float32,shape=[None,1])
y = 4*x+4

w = tf.Variable(tf.random_normal([1],-1,1))
b = tf.Variable(tf.zeros([1]))

y_predict = w * x+b

loss = tf.reduce_mean(tf.square(y-y_predict))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
# 决定训练还是测试
isTrain = False
train_steps = 200
checkpoint_steps = 50
checkpoint_dir = './save_test/'

saver = tf.train.Saver()#默认保存所有的变量
x_data = np.reshape(np.random.rand(10).astype(np.float32),(10,1))

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    # 当在训练100次时发生中断,找到已经存储的模型继续训练
    # saver.restore(sess, checkpoint_dir+'model.ckpt-100')
    if isTrain:
        for i in range(train_steps):
            sess.run(train,feed_dict={x:x_data})
            if (i+1)%checkpoint_steps==0:
                saver.save(sess,checkpoint_dir+'model.ckpt',global_step=i+1)
    else:
        ckpt = tf.train.get_checkpoint_state(checkpoint_dir)
        if ckpt and ckpt.model_checkpoint_path:
            saver.restore(sess,ckpt.model_checkpoint_path)
        else:
            pass
        print(sess.run(w))
        print(sess.run(b))




                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值