I get an error when I run my code, the error is:
tensorflow.python.framework.errors_impl.InternalError: Failed to create session.
Here is my code:
# -*- coding: utf-8 -*-
import ...
import ...
checkpoint='/home/vrview/tensorflow/example/char/data/model/'
MODEL_SAVE_PATH = "/home/vrview/tensorflow/example/char/data/model/"
def getAllImages(folder):
assert os.path.exists(folder)
assert os.path.isdir(folder)
imageList = os.listdir(folder)
imageList = [os.path.join(folder,item) for item in imageList ]
num=len(imageList)
return imageList,num
def get_labei():
img_dir, num = getAllImages(r"/home/vrview/tensorflow/example/char/data/model/file/")
for i in range(num):
image = Image.open(img_dir[i])
image = image.resize([56, 56])
image = np.array(image)
image_array = image
with tf.Graph().as_default():
image = tf.cast(image_array, tf.float32)
image_1 = tf.image.per_image_standardization(image)
image_2 = tf.reshape(image_1, [1, 56, 56, 3])
logit = color_inference.inference(image_2)
y = tf.nn.softmax(logit)
x = tf.placeholder(tf.float32, shape=[56, 56, 3])
saver = tf.train.Saver()
with tf.Session() as sess:
ckpt = tf.train.get_checkpoint_state(MODEL_SAVE_PATH)
if ckpt and ckpt.model_checkpoint_path:
global_step = ckpt.model_checkpoint_path.split('/')[-1].split('-')[-1]
saver.restore(sess, ckpt.model_checkpoint_path)
print('Loading success, global_step is %s' % global_step)
prediction = sess.run(y)
max_index = np.argmax(prediction)
else:
print('No checkpoint file found')
path='/home/vrview/tensorflow/example/char/data/move_file/'+str(max_index)
isExists = os.path.exists(path)
if not isExists :
os.makedirs(path)
shutil.copyfile(img_dir[i], path)
def main(argv=None):
get_labei()
if __name__ == '__main__':
tf.app.run()
And here is my error:
Traceback (most recent call last):
File "/home/vrview/tensorflow/example/char/data/model/color_class_2.py", line 61, in <module>
tf.app.run()
File "/home/vrview/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 44, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "/home/vrview/tensorflow/example/char/data/model/color_class_2.py", line 58, in main
get_labei()
File "/home/vrview/tensorflow/example/char/data/model/color_class_2.py", line 40, in get_labei
with tf.Session() as sess:
File "/home/vrview/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1187, in __init__
super(Session, self).__init__(target, graph, config=config)
File "/home/vrview/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 552, in __init__
self._session = tf_session.TF_NewDeprecatedSession(opts, status)
File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
self.gen.next()
File "/home/vrview/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/framework/errors_impl.py", line 469, in raise_exception_on_not_ok_status
pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.InternalError: Failed to create session.
I had exactly same problem and this is what I did:
Nvidia Driver:
$ nvidia-smi | NVIDIA-SMI 384.130 Driver Version: 384.130
Found driver 384.130
Updated Driver
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update
The above log showed nvidia 396 is being installed.
Restarted machine and checked nvidia driver:
Checked nvcc:
Checked Cuda:
Checked Conda & Tensroflow
Finally tested tensorflow again
It all worked. The issue was that nvidia driver was not compatible with cuda tensorflow so i updated to latest and it worked.