TensorFlow:InternalError:BLAS SGEMM起動に失敗しました -- tensorflow フィールド と blas フィールド 関連 問題

TensorFlow: InternalError: Blas SGEMM launch failed












71
vote

問題

日本語

sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys}) を実行すると、 InternalError: Blas SGEMM launch failed が取得されます。これがフルエラーとスタックトレースです:

<事前> <コード> InternalErrorTraceback (most recent call last) <ipython-input-9-a3261a02bdce> in <module>() 1 batch_xs, batch_ys = mnist.train.next_batch(100) ----> 2 sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys}) /usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in run(self, fetches, feed_dict, options, run_metadata) 338 try: 339 result = self._run(None, fetches, feed_dict, options_ptr, --> 340 run_metadata_ptr) 341 if run_metadata: 342 proto_data = tf_session.TF_GetBuffer(run_metadata_ptr) /usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _run(self, handle, fetches, feed_dict, options, run_metadata) 562 try: 563 results = self._do_run(handle, target_list, unique_fetches, --> 564 feed_dict_string, options, run_metadata) 565 finally: 566 # The movers are no longer used. Delete them. /usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata) 635 if handle is None: 636 return self._do_call(_run_fn, self._session, feed_dict, fetch_list, --> 637 target_list, options, run_metadata) 638 else: 639 return self._do_call(_prun_fn, self._session, handle, feed_dict, /usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _do_call(self, fn, *args) 657 # pylint: disable=protected-access 658 raise errors._make_specific_exception(node_def, op, error_message, --> 659 e.code) 660 # pylint: enable=protected-access 661 InternalError: Blas SGEMM launch failed : a.shape=(100, 784), b.shape=(784, 10), m=100, n=10, k=784 [[Node: MatMul = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=false, _device="/job:localhost/replica:0/task:0/gpu:0"](_recv_Placeholder_0/_4, Variable/read)]] Caused by op u'MatMul', defined at: File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/usr/lib/python2.7/runpy.py", line 72, in _run_code exec code in run_globals File "/usr/local/lib/python2.7/dist-packages/ipykernel/__main__.py", line 3, in <module> app.launch_new_instance() File "/usr/local/lib/python2.7/dist-packages/traitlets/config/application.py", line 596, in launch_instance app.start() File "/usr/local/lib/python2.7/dist-packages/ipykernel/kernelapp.py", line 442, in start ioloop.IOLoop.instance().start() File "/usr/local/lib/python2.7/dist-packages/zmq/eventloop/ioloop.py", line 162, in start super(ZMQIOLoop, self).start() File "/usr/local/lib/python2.7/dist-packages/tornado/ioloop.py", line 883, in start handler_func(fd_obj, events) File "/usr/local/lib/python2.7/dist-packages/tornado/stack_context.py", line 275, in null_wrapper return fn(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 440, in _handle_events self._handle_recv() File "/usr/local/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 472, in _handle_recv self._run_callback(callback, msg) File "/usr/local/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 414, in _run_callback callback(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/tornado/stack_context.py", line 275, in null_wrapper return fn(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/ipykernel/kernelbase.py", line 276, in dispatcher return self.dispatch_shell(stream, msg) File "/usr/local/lib/python2.7/dist-packages/ipykernel/kernelbase.py", line 228, in dispatch_shell handler(stream, idents, msg) File "/usr/local/lib/python2.7/dist-packages/ipykernel/kernelbase.py", line 391, in execute_request user_expressions, allow_stdin) File "/usr/local/lib/python2.7/dist-packages/ipykernel/ipkernel.py", line 199, in do_execute shell.run_cell(code, store_history=store_history, silent=silent) File "/usr/local/lib/python2.7/dist-packages/IPython/core/interactiveshell.py", line 2723, in run_cell interactivity=interactivity, compiler=compiler, result=result) File "/usr/local/lib/python2.7/dist-packages/IPython/core/interactiveshell.py", line 2825, in run_ast_nodes if self.run_code(code, result): File "/usr/local/lib/python2.7/dist-packages/IPython/core/interactiveshell.py", line 2885, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-4-d7414c4b6213>", line 4, in <module> y = tf.nn.softmax(tf.matmul(x, W) + b) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/math_ops.py", line 1036, in matmul name=name) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_math_ops.py", line 911, in _mat_mul transpose_b=transpose_b, name=name) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/op_def_library.py", line 655, in apply_op op_def=op_def) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2154, in create_op original_op=self._default_original_op, op_def=op_def) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1154, in __init__ self._traceback = _extract_stack()

スタック:EC2 G2.8xLarge Machine、Ubuntu 14.04

英語

When I run sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys}) I get InternalError: Blas SGEMM launch failed. Here is the full error and stack trace:

InternalErrorTraceback (most recent call last) <ipython-input-9-a3261a02bdce> in <module>()       1 batch_xs, batch_ys = mnist.train.next_batch(100) ----> 2 sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})  /usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in run(self, fetches, feed_dict, options, run_metadata)     338     try:     339       result = self._run(None, fetches, feed_dict, options_ptr, --> 340                          run_metadata_ptr)     341       if run_metadata:     342         proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)  /usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _run(self, handle, fetches, feed_dict, options, run_metadata)     562     try:     563       results = self._do_run(handle, target_list, unique_fetches, --> 564                              feed_dict_string, options, run_metadata)     565     finally:     566       # The movers are no longer used. Delete them.  /usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)     635     if handle is None:     636       return self._do_call(_run_fn, self._session, feed_dict, fetch_list, --> 637                            target_list, options, run_metadata)     638     else:     639       return self._do_call(_prun_fn, self._session, handle, feed_dict,  /usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _do_call(self, fn, *args)     657       # pylint: disable=protected-access     658       raise errors._make_specific_exception(node_def, op, error_message, --> 659                                             e.code)     660       # pylint: enable=protected-access     661   InternalError: Blas SGEMM launch failed : a.shape=(100, 784), b.shape=(784, 10), m=100, n=10, k=784      [[Node: MatMul = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=false, _device="/job:localhost/replica:0/task:0/gpu:0"](_recv_Placeholder_0/_4, Variable/read)]] Caused by op u'MatMul', defined at:   File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main     "__main__", fname, loader, pkg_name)   File "/usr/lib/python2.7/runpy.py", line 72, in _run_code     exec code in run_globals   File "/usr/local/lib/python2.7/dist-packages/ipykernel/__main__.py", line 3, in <module>     app.launch_new_instance()   File "/usr/local/lib/python2.7/dist-packages/traitlets/config/application.py", line 596, in launch_instance     app.start()   File "/usr/local/lib/python2.7/dist-packages/ipykernel/kernelapp.py", line 442, in start     ioloop.IOLoop.instance().start()   File "/usr/local/lib/python2.7/dist-packages/zmq/eventloop/ioloop.py", line 162, in start     super(ZMQIOLoop, self).start()   File "/usr/local/lib/python2.7/dist-packages/tornado/ioloop.py", line 883, in start     handler_func(fd_obj, events)   File "/usr/local/lib/python2.7/dist-packages/tornado/stack_context.py", line 275, in null_wrapper     return fn(*args, **kwargs)   File "/usr/local/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 440, in _handle_events     self._handle_recv()   File "/usr/local/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 472, in _handle_recv     self._run_callback(callback, msg)   File "/usr/local/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 414, in _run_callback     callback(*args, **kwargs)   File "/usr/local/lib/python2.7/dist-packages/tornado/stack_context.py", line 275, in null_wrapper     return fn(*args, **kwargs)   File "/usr/local/lib/python2.7/dist-packages/ipykernel/kernelbase.py", line 276, in dispatcher     return self.dispatch_shell(stream, msg)   File "/usr/local/lib/python2.7/dist-packages/ipykernel/kernelbase.py", line 228, in dispatch_shell     handler(stream, idents, msg)   File "/usr/local/lib/python2.7/dist-packages/ipykernel/kernelbase.py", line 391, in execute_request     user_expressions, allow_stdin)   File "/usr/local/lib/python2.7/dist-packages/ipykernel/ipkernel.py", line 199, in do_execute     shell.run_cell(code, store_history=store_history, silent=silent)   File "/usr/local/lib/python2.7/dist-packages/IPython/core/interactiveshell.py", line 2723, in run_cell     interactivity=interactivity, compiler=compiler, result=result)   File "/usr/local/lib/python2.7/dist-packages/IPython/core/interactiveshell.py", line 2825, in run_ast_nodes     if self.run_code(code, result):   File "/usr/local/lib/python2.7/dist-packages/IPython/core/interactiveshell.py", line 2885, in run_code     exec(code_obj, self.user_global_ns, self.user_ns)   File "<ipython-input-4-d7414c4b6213>", line 4, in <module>     y = tf.nn.softmax(tf.matmul(x, W) + b)   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/math_ops.py", line 1036, in matmul     name=name)   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_math_ops.py", line 911, in _mat_mul     transpose_b=transpose_b, name=name)   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/op_def_library.py", line 655, in apply_op     op_def=op_def)   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2154, in create_op     original_op=self._default_original_op, op_def=op_def)   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1154, in __init__     self._traceback = _extract_stack() 

Stack: EC2 g2.8xlarge machine, Ubuntu 14.04

</div
     
 
 

回答リスト

105
 
vote
vote
ベストアンサー
 

古い質問ですが、他人を助けるかもしれません。
他のプロセスでアクティブな対話型セッションを閉じるようにしてください(ipythonノートブック - カーネルを再起動するだけ)。これは私を助けました!

さらに、実験中にこのカーネルのローカルセッションを閉じるためにこのコードを使用します。

<事前> <コード> if 'session' in locals() and session is not None: print('Close interactive session') session.close()
 

Old question, but may help others.
Try to close interactive sessions active in other processes (if IPython Notebook - just restart kernels). This helped me!

Additionally, I use this code to close local sessions in this kernel during experiments:

if 'session' in locals() and session is not None:     print('Close interactive session')     session.close() 
</div
 
 
10
 
vote

私はこの問題を検出し、 allow_soft_placement=True および<コード> gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.3) を設定して解決し、これは特にGPUのメモリの端数を定義しています。これがGPUメモリに競合する2つのテンソルフロープロセスを回避するのに役立ちました。

<事前> <コード> gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.3) sess = tf.Session(config=tf.ConfigProto( allow_soft_placement=True, log_device_placement=True))
 

I encountered this problem and solved it by setting allow_soft_placement=True and gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.3), which specifically define the fraction of memory of GPU been used. I guess this has helped to avoid two tensorflow processes competing for the GPU memory.

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.3) sess = tf.Session(config=tf.ConfigProto(   allow_soft_placement=True, log_device_placement=True)) 
</div
 
 
4
 
vote

Tensorflowを配布するときにこのエラーが発生しました。労働者のいずれかがcuda_out_of_memoryエラーを報告しているかどうかを確認しましたか?これがそうであれば、あなたがあなたの体重とバイアス変数を置くところで関係があるかもしれません。 e.g.

<事前> <コード> with tf.device("/job:paramserver/task:0/cpu:0"): W = weight_variable([input_units, num_hidden_units]) b = bias_variable([num_hidden_units])
 

I got this error when running Tensorflow Distributed. Did you check if any of the workers were reporting CUDA_OUT_OF_MEMORY errors? If this is the case it may have to do with where you place your weight and bias variables. E.g.

with tf.device("/job:paramserver/task:0/cpu:0"):    W = weight_variable([input_units, num_hidden_units])           b = bias_variable([num_hidden_units])              
</div
 
 
4
 
vote

私の環境はPython 3.5、Tensorflow 0.12とWindows 10(Dockerなし)です。私はCPUとGPUの両方でニューラルネットワークを訓練しています。私は、GPUでのトレーニング時はいつでも同じエラー<コード> InternalError: Blas SGEMM launch failed に遭遇しました。

このエラーが発生する理由が見つかりませんでしたが、TensorFlow関数 tensorflow.contrib.slim.one_hot_encoding() を回避することで、GPUでコードを実行することができました。代わりに、1つのホットエンコード操作をnumpy(入力変数と出力変数)で実行します。

次のコードはエラーと修正を再現します。勾配降下を使用して<コード> y = x ** 2 機能を学習するための最小限のセットアップです。

 <コード> import numpy as np import tensorflow as tf import tensorflow.contrib.slim as slim  def test_one_hot_encoding_using_tf():      # This function raises the "InternalError: Blas SGEMM launch failed" when run in the GPU      # Initialize     tf.reset_default_graph()     input_size = 10     output_size = 100     input_holder = tf.placeholder(shape=[1], dtype=tf.int32, name='input')     output_holder = tf.placeholder(shape=[1], dtype=tf.int32, name='output')      # Define network     input_oh = slim.one_hot_encoding(input_holder, input_size)     output_oh = slim.one_hot_encoding(output_holder, output_size)     W1 = tf.Variable(tf.random_uniform([input_size, output_size], 0, 0.01))     output_v = tf.matmul(input_oh, W1)     output_v = tf.reshape(output_v, [-1])      # Define updates     loss = tf.reduce_sum(tf.square(output_oh - output_v))     trainer = tf.train.GradientDescentOptimizer(learning_rate=0.1)     update_model = trainer.minimize(loss)      # Optimize     init = tf.initialize_all_variables()     steps = 1000      # Force CPU/GPU     config = tf.ConfigProto(         # device_count={'GPU': 0}  # uncomment this line to force CPU     )      # Launch the tensorflow graph     with tf.Session(config=config) as sess:         sess.run(init)          for step_i in range(steps):              # Get sample             x = np.random.randint(0, 10)             y = np.power(x, 2).astype('int32')              # Update             _, l = sess.run([update_model, loss], feed_dict={input_holder: [x], output_holder: [y]})          # Check model         print('Final loss: %f' % l)  def test_one_hot_encoding_no_tf():      # This function does not raise the "InternalError: Blas SGEMM launch failed" when run in the GPU      def oh_encoding(label, num_classes):         return np.identity(num_classes)[label:label + 1].astype('int32')      # Initialize     tf.reset_default_graph()     input_size = 10     output_size = 100     input_holder = tf.placeholder(shape=[1, input_size], dtype=tf.float32, name='input')     output_holder = tf.placeholder(shape=[1, output_size], dtype=tf.float32, name='output')      # Define network     W1 = tf.Variable(tf.random_uniform([input_size, output_size], 0, 0.01))     output_v = tf.matmul(input_holder, W1)     output_v = tf.reshape(output_v, [-1])      # Define updates     loss = tf.reduce_sum(tf.square(output_holder - output_v))     trainer = tf.train.GradientDescentOptimizer(learning_rate=0.1)     update_model = trainer.minimize(loss)      # Optimize     init = tf.initialize_all_variables()     steps = 1000      # Force CPU/GPU     config = tf.ConfigProto(         # device_count={'GPU': 0}  # uncomment this line to force CPU     )      # Launch the tensorflow graph     with tf.Session(config=config) as sess:         sess.run(init)          for step_i in range(steps):              # Get sample             x = np.random.randint(0, 10)             y = np.power(x, 2).astype('int32')              # One hot encoding             x = oh_encoding(x, 10)             y = oh_encoding(y, 100)              # Update             _, l = sess.run([update_model, loss], feed_dict={input_holder: x, output_holder: y})          # Check model         print('Final loss: %f' % l)   
 

My environment is Python 3.5, Tensorflow 0.12 and Windows 10 (no Docker). I am training neural networks in both CPU and GPU. I came across the same error InternalError: Blas SGEMM launch failed whenever training in the GPU.

I could not find the reason why this error happens but I managed to run my code in the GPU by avoiding the tensorflow function tensorflow.contrib.slim.one_hot_encoding(). Instead, I do the one-hot-encoding operation in numpy (input and output variables).

The following code reproduces the error and the fix. It is a minimal setup to learn the y = x ** 2 function using gradient descent.

import numpy as np import tensorflow as tf import tensorflow.contrib.slim as slim  def test_one_hot_encoding_using_tf():      # This function raises the "InternalError: Blas SGEMM launch failed" when run in the GPU      # Initialize     tf.reset_default_graph()     input_size = 10     output_size = 100     input_holder = tf.placeholder(shape=[1], dtype=tf.int32, name='input')     output_holder = tf.placeholder(shape=[1], dtype=tf.int32, name='output')      # Define network     input_oh = slim.one_hot_encoding(input_holder, input_size)     output_oh = slim.one_hot_encoding(output_holder, output_size)     W1 = tf.Variable(tf.random_uniform([input_size, output_size], 0, 0.01))     output_v = tf.matmul(input_oh, W1)     output_v = tf.reshape(output_v, [-1])      # Define updates     loss = tf.reduce_sum(tf.square(output_oh - output_v))     trainer = tf.train.GradientDescentOptimizer(learning_rate=0.1)     update_model = trainer.minimize(loss)      # Optimize     init = tf.initialize_all_variables()     steps = 1000      # Force CPU/GPU     config = tf.ConfigProto(         # device_count={'GPU': 0}  # uncomment this line to force CPU     )      # Launch the tensorflow graph     with tf.Session(config=config) as sess:         sess.run(init)          for step_i in range(steps):              # Get sample             x = np.random.randint(0, 10)             y = np.power(x, 2).astype('int32')              # Update             _, l = sess.run([update_model, loss], feed_dict={input_holder: [x], output_holder: [y]})          # Check model         print('Final loss: %f' % l)  def test_one_hot_encoding_no_tf():      # This function does not raise the "InternalError: Blas SGEMM launch failed" when run in the GPU      def oh_encoding(label, num_classes):         return np.identity(num_classes)[label:label + 1].astype('int32')      # Initialize     tf.reset_default_graph()     input_size = 10     output_size = 100     input_holder = tf.placeholder(shape=[1, input_size], dtype=tf.float32, name='input')     output_holder = tf.placeholder(shape=[1, output_size], dtype=tf.float32, name='output')      # Define network     W1 = tf.Variable(tf.random_uniform([input_size, output_size], 0, 0.01))     output_v = tf.matmul(input_holder, W1)     output_v = tf.reshape(output_v, [-1])      # Define updates     loss = tf.reduce_sum(tf.square(output_holder - output_v))     trainer = tf.train.GradientDescentOptimizer(learning_rate=0.1)     update_model = trainer.minimize(loss)      # Optimize     init = tf.initialize_all_variables()     steps = 1000      # Force CPU/GPU     config = tf.ConfigProto(         # device_count={'GPU': 0}  # uncomment this line to force CPU     )      # Launch the tensorflow graph     with tf.Session(config=config) as sess:         sess.run(init)          for step_i in range(steps):              # Get sample             x = np.random.randint(0, 10)             y = np.power(x, 2).astype('int32')              # One hot encoding             x = oh_encoding(x, 10)             y = oh_encoding(y, 100)              # Update             _, l = sess.run([update_model, loss], feed_dict={input_holder: x, output_holder: y})          # Check model         print('Final loss: %f' % l) 
</div
 
 
3
 
vote

あなたはあなたのGPUを無料で解放しないかもしれません、あなたがLinuxを使用しているなら、 "PS-F | Grep Python"を試してGPUを使用しているのかを確認してください。それからそれらを殺す

 

maybe you not free your gpu rigthly , if you are using linux,try "ps -ef | grep python" to see what jobs are using GPU. then kill them

</div
 
 
2
 
vote

私の場合は、Keras / Tensorflowを使用して、2つのPythonコンソールを開いていました。 私は古いコンソールを閉じたように(前日から忘れられた)、 すべてが正しく機能し始めました。

だからGPUを占める複数のコンソール/プロセスがない場合は、チェックするのが良いです。

 

In my case, I had 2 python consoles open, both using keras/tensorflow. As I closed the old console (forgotten from previous day), everything started to work correctly.

So it is good to check, if you do not have multiple consoles / processes occupying GPU.

</div
 
 
2
 
vote

他のすべてのJupyterセッションを閉じ、これは問題を解決しました。私はそれがGPUの記憶問題だと思います。

 

I closed all other Jupyter Sessions running and this solved the problem. I think It was GPU memory issue.

</div
 
 
1
 
vote

私の場合、

最初に、

を実行します

CLEAN --ALL

tarballと未使用のパッケージをクリーンアップする

それでは、IDE(この場合はPycharm)を再起動してうまく機能します。環境:Anaconda Python 3.6、Windows 10 64bit。 anacondaのウェブサイトに提供されたコマンドでTensorFlow-GPUをインストールします。

 

In my case,

First, I run

conda clean --all

to clean up tarballs and unused packages.

Then, I restart IDE (Pycharm in this case) and it works well. Environment: anaconda python 3.6, windows 10 64bit. I install tensorflow-gpu by a command provided on the anaconda website.

</div
 
 
1
 
vote

私にとっては、私が複数のTensorflowプロセスを実行しようとしたとき(例えば2)、どちらもGPUリソ​​ースにアクセスするために必要なときにこの問題を得ました。

簡単な解決策は、1回で実行されているテンソルフロープロセスが1つだけであることを確認することです。

詳細については、

を見ることができます。

クリアするために、Tensorflowは(デフォルトで)利用可能なすべてを消費する GPU他のプログラムでも実行できません。閉鎖。感じられる これが実際に別の問題である場合は再び自由に再び自由になります。

 

For me, I got this problem when I tried to run multiple tensorflow processes (e.g. 2) and both of them require to access GPU resources.

A simple solution is to make sure there has to be only one tensorflow process running at a single time.

For more details, you can see here.

To be clear, tensorflow will try (by default) to consume all available GPUs. It cannot be run with other programs also active. Closing. Feel free to reopen if this is actually another problem.

</div
 
 
1
 
vote

2.0互換回答:コミュニティの利益のためにErkoの答えのための2.0コードを提供します。

<事前> <コード> session = tf.compat.v1.Session() if 'session' in locals() and session is not None: print('Close interactive session') session.close()
 

2.0 Compatible Answer: Providing 2.0 Code for erko's answer for the benefit of the Community.

session = tf.compat.v1.Session()  if 'session' in locals() and session is not None:     print('Close interactive session')     session.close() 
</div
 
 
0
 
vote

Pytest-XDISTと並行してKeras CUDNNテストを実行すると、このエラーが発生しました。溶液はそれらを連続的に走らせることであった。

 

I encountered this error when running Keras CuDNN tests in parallel with pytest-xdist. The solution was to run them serially.

</div
 
 
0
 
vote

KERASを使用するときは、このエラーが発生し、Tensorflowはバックエンドでした。その結果、アナコンダの深部学習環境が適切に活動化されていないため、Tensorflowも適切にキックしなかったためです。私は最後に私の深い学習環境(と呼ばれる)以来これに気づいた、私のAnacondaプロンプトでこれに変更されたプロンプトは:

<コード> (dl) C:UsersgeorgAnaconda3envsdletccondaactivate.d>set "KERAS_BACKEND=tensorflow"

以前に dl のみがありました。したがって、上記のエラーを取り除くためにしたことは、JupyterノートブックとAnacondaプロンプトを閉じ、次に再起動します。

 

For me, I got this error when using Keras, and Tensorflow was the the backend. It was because the deep learning environment in Anaconda was not activated properly, as a result, Tensorflow didn't kick in properly either. I noticed this since the last time I activated my deep learning environment (which is called dl), the prompt changed in my Anaconda Prompt to this:

(dl) C:UsersgeorgAnaconda3envsdletccondaactivate.d>set "KERAS_BACKEND=tensorflow"

While it only had the dl before then. Therefore, what I did to get rid of the above error was to close my jupyter notebook and Anaconda prompt, then relaunch, for several times.

</div
 
 
0
 
vote

私は最近OSを windows 10 に変更した後、このエラーが発生しましたが、Windows 7を使用しているときにこれまでに発生することはありません。

他のGPUプログラムが実行されているときにGPU TensorFlowモデルをロードすると、エラーが発生します。それは私のJCUDAモデルがソケットサーバーとしてロードされています。他のGPUプログラムを閉じると、このTensorflowモデルを非常にうまく読み込むことができます。

このJCUDAプログラムは全く大きく、約70m、比較ではこのテンサフラフモデルは500m以上大きいです。しかし、私は1080 Tiを使っています。それで、それはおそらく不完全な説教ではないでしょう、そしてそれはおそらくOSまたはCUDAに関するテンソルフローのいくつかのトリッキーな内部号であるでしょう。 (PS:私はCUDAバージョン8.0.44を使っていて、新しいバージョンをダウンロードしていません。)

 

I encountered this error after changing OS to Windows 10 recently, and I never encountered this before when using windows 7.

The error occurs if I load my GPU Tensorflow model when an another GPU program is running; it's my JCuda model loaded as socket server, which is not large. If I close my other GPU program(s), this Tensorflow model can be loaded very successfully.

This JCuda program is not large at all, just around 70M, and in comparison this Tensorflow model is more than 500M and much larger. But I am using 1080 ti, which has much memory. So it would be probably not an out-of-memory progblem, and it would perhaps be some tricky internal issue of Tensorflow regarding OS or Cuda. (PS: I am using Cuda version 8.0.44 and haven't downloaded a newer version.)

</div
 
 
0
 
vote

jupyterプロセスの再起動は十分ではありませんでした。私はコンピュータを再起動しなければなりませんでした。

 

Restarting my Jupyter processes wasn't enough; I had to reboot my computer.

</div
 
 
0
 
vote

私の場合は、Jupyterノートブックを別々のサーバーで開くのに十分です。

このエラーは、同じサーバー内で複数のTensorFlow / Kerasモデルを使用してみてみてください。 1つのノートブックを開くと、それを閉じるよりも閉じて別のノートをオープンしてみてください。同じJupyterサーバーにロードされている場合、エラーは常に起こります。

 

In my case, it is enough to open the Jupyter Notebooks in separate servers.

This error only occurs with me if I try using more than one tensorflow/keras model in the same server. It doesn't matter if open one notebook, execute it, than close and try opening another. If they are being loaded in the same Jupyter server the error always happens.

</div
 
 
-1
 
vote

マイケースでは、 .container{ height:500px; background-color:#eee; padding: 0px; } が単純に並べられたネットワークファイルシステム。ノードが再起動され、すべてが大丈夫でした。データセットに別のポイントを追加するためだけに。

 

In my case, the network filesystem under which libcublas.so was located simply died. The node was rebooted and everything was fine. Just to add another point to the dataset.

</div
 
 

関連する質問

1  LAPACK / BLASライブラリを結ぶ  ( Linking lapack blas libraries ) 
背景: 私はCとFortran 77の組み合わせで書かれたプロジェクトに取り組んでいて、LAPACK / BLASライブラリをプロジェクトにリンクする必要があります(すべてLinux環境)。問題のLAPACKはNetLib.orgからのバージョン3.2.1...

12  libgfortran:バージョン `gfortran_1.4 'が見つかりません  ( Libgfortran version gfortran 1 4 not found ) 
MATLABでMEXファイルを実行しようとすると、次のエラーが発生しています。 <事前> <コード> ??? Invalid MEX-file 'findimps3.mexa64': /MATLAB/bin/glnxa64/../../sys/os/glnx...

22  複数のコアを使用していないケース  ( Keras not using multiple cores ) 
有名な<コード> check_blas.py スクリプトに基づいて、実際に複数のコアを使用できることを確認するためにこれを書きました。 <コード> import os os.environ['MKL_NUM_THREADS'] = '8' os.enviro...

49  Python / numpyのマルチスレッドBLAS  ( Multithreaded blas in python numpy ) 
Pythonに多数の行列行列乗算を実装しようとしています。最初に、私はそれらのライブラリに対してそれを構築してから、numpyが私のスレッドBLASライブラリを自動的に使用すると仮定しました。ただし、 トップ または他のものコードがまったくスレッドを使用して...

0  SEG-FAULTを引き起こすパスバイ値変数のアドレス  ( Address of pass by value variable causing seg fault ) 
もともとPowerPCでコンパイルされてテストされた編集できないいくつかの従来のコードを操作しています。汎用Linuxボックス用にビルドするビルドシステムを作成しようとしています(Ubuntu 11.10 x 64)。 CLAPACKに含まれているGener...

2  OpenMPのサポートなしのBlas、Atlas、LAPACKを構築する  ( Building blas atlas and lapack without openmp support ) 
OpenMPを使用して実行を並列化するために、既存の事前に事前に構築された線形代数ライブラリを使用しています。 今、OpenMPを使ったプロジェクトで作業しています。そのため、環境変数omp_num_threadsを設定します。 いくつかのスレッドはBLA...

6  ゼロ以外の値(BLAS)でDouble Arrayを初期化する  ( Initialize double array with nonzero values blas ) 
私は大きな二重ベクトルを割り当てました、100000要素で言うことができます。私のコードのある時点で、すべての要素を定数、ゼロ以外の値に設定します。すべての要素に対してforループを使用せずにこれを行うにはどうすればよいですか。 私はそれが役立つならば、私はB...

3  NVBLASを使用したJBLASを使用してください  ( Using jblas with nvblas ) 
configureスクリプトはライブラリを正しく見つけていないため、私はややハッキーなソリューションを持つNVBLASを使ってコンパイルしました。 NVBLASライブラリを含めるには、JBLASの configure.out ファイルを手動で編集しました。 ...

1  MTJを使用するときはBLAS / LAPACKライ​​ブラリを使用していますか?  ( Am i using the blas lapack libraries when using mtj ) 
私は私の質問をするのに適切な場所であることがわかりません。そうでなければ、私は謝罪します。 スパース行列乗算のロットを行うJavaプログラムを書いています。いくつかの研究の後、 matrixツールキットJava を見つけました。しかし、 netlib-jav...

0  LAPACKを使用したマトリックスの逆数、Fortran90のBLAS  ( Computing inverse of a matrix using lapack blas in fortran90 ) 
LAPACK / BLASを使用するのに新しい。式の解を計算したい: au = f コードのこの部分の論理エラーがあるのか​​知りたいです。ここで、ソルバーを使用して、サイズのマトリックスA((XDIV-1)(YDIV-1)、(XDIV-1)(YDIV-...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有