TensorFlow的模型保存与加载

Posted liuxinyu12378

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TensorFlow的模型保存与加载相关的知识,希望对你有一定的参考价值。

import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL‘] = ‘2‘

import tensorflow as tf

#tensorboard --logdir="./"

def linearregression():

    with tf.variable_scope("original_data"):
        X = tf.random_normal([100,1],mean=0.0,stddev=1.0)
        y_true = tf.matmul(X,[[0.8]]) + [[0.7]]

    with tf.variable_scope("linear_model"):
        weights = tf.Variable(initial_value=tf.random_normal([1,1]))
        bias = tf.Variable(initial_value=tf.random_normal([1,1]))
        y_predict = tf.matmul(X,weights)+bias

    with tf.variable_scope("loss"):
        loss = tf.reduce_mean(tf.square(y_predict-y_true))

    with tf.variable_scope("optimizer"):
        optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(loss)

    #收集观察张量
    tf.summary.scalar("losses",loss)
    tf.summary.histogram("weight",weights)
    tf.summary.histogram("biases",bias)
    #合并收集的张量
    merge = tf.summary.merge_all()

    init = tf.global_variables_initializer()

    saver = tf.train.Saver()
    with tf.Session() as sess:
        sess.run(init)
        print(weights.eval(),bias.eval())
        # 模型加载
        saver.restore(sess,"./model/linearregression")
        print(weights.eval(),bias.eval())
        # filewriter = tf.summary.FileWriter("./tmp",graph=sess.graph)
        # for i in range(1000):
        #     sess.run(optimizer)
        #     print("loss:", sess.run(loss))
        #     print("weight:", sess.run(weights))
        #     print("bias:", sess.run(bias))
        #     summary = sess.run(merge)
        #     filewriter.add_summary(summary,i)
        #
        # #checkpoint文件,模型保存
        # saver.save(sess,"./model/linearregression")

if __name__ == ‘__main__‘:
    linearregression()

  

以上是关于TensorFlow的模型保存与加载的主要内容,如果未能解决你的问题,请参考以下文章

转 tensorflow模型保存 与 加载

tensorflow 之模型的保存与加载

TensorFlow的模型保存与加载

TensorFlow2 入门指南 | 19 模型文件的保存与加载

TensorFlow2 入门指南 | 19 模型文件的保存与加载

TensorFlow 保存和加载不一致