不保存即可恢复Tensorflow模型

在Tensorflow中,我注意到如果要保存模型,可以使用tf.Saver函数或其他函数。当我们必须加载模型时,我们使用它来恢复副本==>

# Importing and restoring Meta-graph
# Saving the model....
saver = tf.train.import_meta_graph('my-save-dir/my-model-10000.meta')
# And Restoring the model...
saver.restore(sess,'my-save-dir/my-model-10000'

在我所见过的每种方法中,我们始终使用“ Saver”方法。但是我的问题是-我们可以先不保存检查点文件(.ckpt)来还原它吗?我正在制作这个线性回归器(下面的代码)

# In[1]
#Setting up TensorBoard:
import numpy as np
import pandas as pd
import tensorflow as tf

training_set_n = pd.read_csv("C:/Users/neelg/Documents/Jupyter/Linear-reg/boston_train.csv").values

test_set_n = pd.read_csv("C:/Users/neelg/Documents/Jupyter/Linear-reg/boston_test.csv").values

prediction_set_n = pd.read_csv("C:/Users/neelg/Documents/Jupyter/Linear-reg/boston_predict.csv").values

def prepare_data(df):
        X_train = df[:,:-3]
        y_train = df[:,-3]
        return X_train,y_train

X_train,y_train = prepare_data(training_set_n)
X_test,y_test = prepare_data(test_set_n)

x_predict = prediction_set_n[:,:-2] #Exclude last column,having only NaN

print(X_train.shape,y_train.shape,x_predict.shape)

feature_columns = [tf.feature_column.numeric_column('x',shape=X_train.shape[1:])]

estimator = tf.compat.v1.estimator.LinearRegressor(feature_columns=feature_columns,model_dir="train1")

train_input = tf.compat.v1.estimator.inputs.numpy_input_fn(x={"x": X_train},y = y_train,batch_size=128,shuffle=False,num_epochs=None)

eval_input = tf.compat.v1.estimator.inputs.numpy_input_fn(
       x={"x": X_test},y=y_test,num_epochs=1)

TB_train = estimator.train(input_fn=train_input,steps=1000)
TB_test = estimator.evaluate(eval_input,steps=None)

我注意到它的线性回归函数会在每次运行时自动保存模型(这会在训练中引起很多问题)。那么如何还原模型?我不知道有什么方法可以做到这一点,除了每次都要重新训练和删除文件...

请注意,我正在使用Tensorflow-gpu 2.0.0,但是我的代码是针对Tensorflow 1.X的,因此请添加compat.v1 ...如果仅在Tensorflow 2中使用,请在要求的语句中添加它们。 .X

先感谢:)

xy080121 回答:不保存即可恢复Tensorflow模型

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2883891.html

大家都在问