训练模型和保存模型代码
import tensorflow as tf
import numpy as np
x_data = np.random.rand(100)
y_data = x_data*2+1
x = tf.placeholder(tf.float32)
y = tf.placeholder(tf.float32)
w = tf.Variable(0.0)
b = tf.Variable(0.0)
prediction = w*x+b
loss = tf.reduce_mean(tf.square(y-prediction))
train = tf.train.GradientDescentOptimizer(0.2).minimize(loss)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for step in range(200):
sess.run(train,feed_dict={x:x_data,y:y_data})
if step%20==0:
print(sess.run([w,b]))
save_path = tf.train.Saver().save(sess,"./3/model.ckpt")
模型提取,测试
import tensorflow as tf
import numpy as np
x_data = np.random.rand(3)
y_data = 2*x_data+1
x = tf.placeholder(tf.float32)
w = tf.Variable(0.0)
b = tf.Variable(0.0)
y = x*w+b
init = tf.global_variables_initializer()
with tf.Session() as sess:
#sess.run(init)
saver = tf.train.Saver()
saver.restore(sess, "./3/model.ckpt")
result = sess.run(y,feed_dict={x:x_data})
print(result,y_data)
模型提取,测试2
import tensorflow as tf
import numpy as np
x_data = np.random.rand(3)
y_data = 2*x_data+1
graph = tf.Graph()
with tf.Session(graph=graph) as sess:
saver = tf.train.import_meta_graph('./3/model.ckpt.meta')
saver.restore(sess, tf.train.latest_checkpoint("./3/"))
input = graph.get_tensor_by_name("x:0")
result = sess.run(tf.get_default_graph().get_tensor_by_name("add:0"),feed_dict={input:x_data})
print(result,y_data)
本文详细介绍使用TensorFlow进行线性回归模型的训练过程,并演示如何保存和加载模型。通过随机生成的数据集,构建了一个简单的线性模型,利用梯度下降法进行优化,最后将训练好的模型保存到本地。此外,还介绍了两种模型加载方法:直接恢复变量和使用图导入元图。
856

被折叠的 条评论
为什么被折叠?



