在Tensorflow中训练模型后:
我正在尝试使用张量流中的一些简单模型,包括一个看起来非常类似于ML初学者示例的第一个MNIST,但具有更大的维度.我能够毫无问题地使用梯度下降优化器,获得足够好的收敛性.当我尝试使用ADAM优化器时,出现如下错误:
tensorflow.python.framework.errors.FailedPreconditionError: Attempting to use uninitialized value Variable_21/Adam
[[Node: Adam_2/update_Variable_21/ApplyAdam = ApplyAdam[T=DT_FLOAT, use_locking=false, _device="/job:localhost/replica:0/task:0/cpu:0"](Variable_21, Variable_21/Adam, Variable_21/Adam_1, beta1_power_2, beta2_power_2, Adam_2/learning_rate, Adam_2/beta1, Adam_2/beta2, Adam_2/epsilon, gradients_11/add_10_grad/tuple/control_dependency_1)]]
Run Code Online (Sandbox Code Playgroud)
抱怨未初始化的特定变量根据运行而变化.这个错误是什么意思?它表明什么是错的?无论我使用什么学习率,它似乎都会发生.
我试图从答案中实现一个建议: Tensorflow:如何保存/恢复模型?
我有一个对象,它tensorflow
以一种sklearn
风格包装模型.
import tensorflow as tf
class tflasso():
saver = tf.train.Saver()
def __init__(self,
learning_rate = 2e-2,
training_epochs = 5000,
display_step = 50,
BATCH_SIZE = 100,
ALPHA = 1e-5,
checkpoint_dir = "./",
):
...
def _create_network(self):
...
def _load_(self, sess, checkpoint_dir = None):
if checkpoint_dir:
self.checkpoint_dir = checkpoint_dir
print("loading a session")
ckpt = tf.train.get_checkpoint_state(self.checkpoint_dir)
if ckpt and ckpt.model_checkpoint_path:
self.saver.restore(sess, ckpt.model_checkpoint_path)
else:
raise Exception("no checkpoint found")
return
def fit(self, train_X, train_Y , load = True):
self.X = …
Run Code Online (Sandbox Code Playgroud)