栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

tensorflow1.12中checkpoint文件和save

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

tensorflow1.12中checkpoint文件和save

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 一、checkpoint
    • 1.保存
    • 2.加载
  • 二、save_model
    • 1.保存
    • 2.加载



提示:以下是本篇文章正文内容,下面案例可供参考

一、checkpoint

导入包

import pandas as pd
import tensorflow as tf
import scipy
import pandas as pd
from scipy.io import arff
from sklearn.model_selection import train_test_split
from sklearn import preprocessing
import numpy as np
from tqdm import tqdm
from sklearn.utils import shuffle
1.保存
# 初始化
saver_test = tf.train.Saver()
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
。。。训练代码。。。
if testloss < save_min_loss:
      save_min_loss = testloss
      saver_test.save(sess, './tf12_lamb_0/test',global_step=i) # i是训练步数
      save_min_loss_idx = i
      print('最小loss:', i, testloss)
2.加载
import tensorflow as tf
# 定义占位符输入变量
xs = tf.placeholder(tf.float32, [None, 363],name = 'image')
# ys = tf.placeholder(tf.float32, [None, 6],name = 'ys')
# y_online_first = tf.placeholder(tf.float32, [None, 6],name = 'y_online_first')
# y_true_recall = tf.placeholder(tf.float32, [None, 6],name = 'y_true_recall')
# is_default_use = tf.placeholder(tf.float32, [None,],name = 'is_default_use')

# 网络结构
l1 = tf.layers.dense(xs, 30, activation=tf.nn.leaky_relu, use_bias=True,kernel_initializer='random_normal',bias_initializer='zeros',name = 'l1')
l1_1 = tf.layers.batch_normalization(l1, training = True,name = 'l1_1')
l2 = tf.layers.dense(l1_1, 30, activation=tf.nn.leaky_relu, use_bias=True,kernel_initializer='random_normal',bias_initializer='zeros',name = 'l2')
l2_1 = tf.layers.batch_normalization(l2, training = True,name = 'l2_1')
l3 = tf.layers.dense(l2_1, 30, activation=tf.nn.leaky_relu, use_bias=True,kernel_initializer='random_normal',bias_initializer='zeros',name = 'l3')
l3_1 = tf.layers.batch_normalization(l3, training = True,name = 'l3_1')
l4 = tf.layers.dense(l3_1, 30, activation=tf.nn.leaky_relu, use_bias=True,kernel_initializer='random_normal',bias_initializer='zeros',name = 'l4')
l4_1 = tf.layers.batch_normalization(l4, training = True,name = 'l4_1')
l5 = tf.layers.dense(l4_1, 6, activation=tf.nn.sigmoid, use_bias=True,kernel_initializer='random_normal',bias_initializer='zeros')
tf.identity(l5, name="scores")
saver = tf.train.Saver()
with tf.Session() as sess:
#     saver.restore(sess, "./test_lamb_0/test-38800")   # lamb 0 
    saver.restore(sess, "./tf12_lamb_0/test-37600") # lamb 7
    print("model restored")
    pl5_test_2 = sess.run(l5, feed_dict={xs: X_test})
    print(pl5_test_2) 
二、save_model 1.保存
if testloss < save_min_loss:
    save_min_loss = testloss
    saver_test.save(sess, './tf12_lamb_0/test',global_step=i)
    save_min_loss_idx = i
    print('最小loss:', i, testloss)
    
    # 保存pb文件
    tf.saved_model.simple_save(
      sess,
      "./lamb_0_pb/pbmodel_{}/".format(i),
      inputs={"image": xs},
      outputs={"scores": l5}
    )
2.加载
import tensorflow as tf
with tf.Session(graph=tf.Graph()) as sess:
    tf.saved_model.loader.load(sess, ["serve"], "./lamb_0_pb/pbmodel_800/")
    graph = tf.get_default_graph()
    x = sess.graph.get_tensor_by_name('image:0')   # tensor名字要和保存的时候对上
    print(x)
    y = sess.graph.get_tensor_by_name('scores:0')  # tensor名字要和保存的时候对上
    print(y)
    prediction = sess.run(y, feed_dict={x: X_test})
    print(prediction)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/953853.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号