程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

3-Tensorflow-demo_0801_简单的Saver.py

发布于2019-12-07 09:28     阅读(803)     评论(0)     点赞(18)     收藏(0)




import tensorflow as tf
import os
"""
模型持久化:
    含义:将当前训练好的模型图 和 权重保存到本地磁盘中,方便后续的使用。
    1、服务器训练好了一个模型,迁移到 移动端使用;
    2、深度学习训练都很耗时,耗钱。 可以迁移学习。
"""

def train():
    with tf.Graph().as_default():
        v1 = tf.get_variable(
            'v1', dtype=tf.float32, shape=[1], initializer=tf.random_normal_initializer()
        )
        v2 = tf.get_variable(
            'v2', dtype=tf.float32, shape=[1], initializer=tf.random_normal_initializer()
        )
        rezult = v1 + v2
        # 构建持久化的对象
        saver = tf.train.Saver()

        # 创建持久化的文件路径
        save_file = './models/ai20/model.ckpt'
        dirpath = os.path.dirname(save_file)
        if not os.path.exists(dirpath):
            os.makedirs(dirpath)
            print('成功创建文件夹:{}'.format(dirpath))

        # 二、构建会话
        with tf.Session() as sess:
            sess.run(tf.global_variables_initializer())
            print(sess.run([v1, v2, rezult]))
            """
            [array([0.25989017], dtype=float32), 
            array([-0.12384889], dtype=float32), 
            array([0.13604128], dtype=float32)]
            """
            # 执行持久化
            saver.save(sess=sess, save_path=save_file)
            print('变量成功保存至:{}'.format(save_file))


def restore_var():
    with tf.Graph().as_default():
        v1 = tf.get_variable(
            'v1', dtype=tf.float32, shape=[1], initializer=tf.random_normal_initializer()
        )
        v2 = tf.get_variable(
            'v2', dtype=tf.float32, shape=[1], initializer=tf.random_normal_initializer()
        )
        rezult = v1 + v2

        # 构建持久化的对象
        saver = tf.train.Saver()

        # 创建持久化的文件路径
        save_file = './models/ai20/model.ckpt'
        dirpath = os.path.dirname(save_file)
        if not os.path.exists(dirpath):
            os.makedirs(dirpath)
            print('成功创建文件夹:{}'.format(dirpath))

        # 二、构建会话
        with tf.Session() as sess:
            # 直接恢复变量,所以无需变量初始化
            saver.restore(sess, save_path=save_file)
            print(sess.run([v1, v2, rezult]))
            """
            [array([0.25989017], dtype=float32), 
            array([-0.12384889], dtype=float32), 
            array([0.13604128], dtype=float32)]
            """


if __name__ == '__main__':
    # train()
    restore_var()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79


所属网站分类: 技术文章 > 博客

作者:短发越来越短

链接:https://www.pythonheidong.com/blog/article/169676/1e9003deba955a5dcf6b/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

18 0
收藏该文
已收藏

评论内容:(最多支持255个字符)