Я пытаюсь запустить код conviz.py, размещенный на https://github.com/grishasergei/conviz. Код возвращает «RuntimeError: Попытка использовать закрытый сеанс
Примечание: я использую python 3.6 и TensorFlow 1.13. 1.
Я просто клонировал исходный код GitHub и запустил его с небольшими изменениями (например, проблемы несовместимости в части xrange и cross_entropy)
Вот часть кода, которая, по-видимому, связана сошибка.
with tf.Session() as sess:
sess.run(init)
step = 1
# Keep training until reach max iterations
while step * batch_size < training_iters:
batch_x, batch_y = mnist.train.next_batch(batch_size)
# Run optimization op (backprop)
sess.run(optimizer, feed_dict={x: batch_x, y: batch_y,
keep_prob: dropout})
if step % display_step == 0:
# Calculate batch loss and accuracy
loss, acc = sess.run([cost, accuracy], feed_dict={x: batch_x,
y: batch_y,
keep_prob: 1.})
print("\rIter " + str(step*batch_size) + ", Minibatch Loss= " +
"{:.6f}".format(loss) + ", Training Accuracy= " +
"{:.5f}".format(acc), end='')
step += 1
print("\rOptimization Finished!")
# Calculate accuracy for 256 mnist test images
print("Testing Accuracy:",
sess.run(accuracy, feed_dict={x: mnist.test.images[:256],
y: mnist.test.labels[:256],
keep_prob: 1.}))
# no need for feed dictionary here
conv_weights = sess.run([tf.get_collection('conv_weights')])
print("conv_weights done!")
for i, c in enumerate(conv_weights[0]):
plot_conv_weights(c, 'conv{}'.format(i))
Я ожидал, что conv_weights = sess.run ([tf.get_collection ('conv_weights')]) загрузит тензор весов, но код привел к следующей трассировке стека.
cell_name in async-def-wrapper()
/opt/conda/envs/Python36/lib/python3.6/site-packages/tensorflow/python/client/session.py in run(self, fetches, feed_dict, options, run_metadata)
927 try:
928 result = self._run(None, fetches, feed_dict, options_ptr,
--> 929 run_metadata_ptr)
930 if run_metadata:
931 proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)
/opt/conda/envs/Python36/lib/python3.6/site-packages/tensorflow/python/client/session.py in _run(self, handle, fetches, feed_dict, options, run_metadata)
1073 # Check session.
1074 if self._closed:
-> 1075 raise RuntimeError('Attempted to use a closed Session.')
1076 if self.graph.version == 0:
1077 raise RuntimeError('The Session graph is empty. Add operations to the '