1. FailedPreconditionError (see above for traceback): Attempting to use uninitialized value conv2d_1/kernel
ops.reset_default_graph()
config = tf.ConfigProto()
with tf.Session(config=config) as sess:
sess.run(tf.global_variables_initializer())
sess.run(tf.local_variables_initializer())
model = Network(n_H0, n_W0, n_C0, n_y) #此类中定义了placeholder, cost, forward propagation
print('Start Training...')
train(X_train, Y_train, sess, model) #此函数定义了optimizer = tf.train.AdagradOptimizer(learning_rate=learning_rate).minimize(model.cost)
产生错误:FailedPreconditionError (see above for traceback): Attempting to use uninitialized value conv2d_1/kernel
原因:sess.run(tf.global_variables_initializer())
全局变量初始化应该位于定义optimizer之后
def train(X_train, Y_train, sess, model, learning_rate=0.009,
num_epochs=100, minibatch_size=64, print_cost=True):
costs = [] # To keep track of the cost
m = X_train.shape[0]