質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.44%
CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

7236閲覧

tensorflow,kerasでのGPUメモリエラーが解決できない

kimtakuya_

総合スコア22

CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/02/14 01:09

編集2020/02/14 01:14

前提・実現したいこと

Linux環境でKeras環境構築をしています。

kerasのmodel.fit()を呼びだすとメモリのエラーが出るため、
メモリ制限をする下のようなコードを追加しましたが同じエラーが出ています。

事前にCudaなどのインストールも行いNVIDIA-SMIの出力も添付しました。

発生している問題・エラーメッセージ

Using TensorFlow backend. >>> >>> config = tf.ConfigProto(gpu_options=tf.GPUOptions(allow_growth=True)) >>> session = tf.Session(config=config) 2020-02-14 09:56:48.083394: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA 2020-02-14 09:56:48.106596: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 3696000000 Hz 2020-02-14 09:56:48.108463: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x55dea78cf280 executing computations on platform Host. Devices: 2020-02-14 09:56:48.108518: I tensorflow/compiler/xla/service/service.cc:175] StreamExecutor device (0): <undefined>, <undefined> 2020-02-14 09:56:48.111281: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcuda.so.1 2020-02-14 09:56:48.252618: F tensorflow/stream_executor/lib/statusor.cc:34] Attempting to fetch value instead of handling error Internal: failed initializing StreamExecutor for CUDA device ordinal 0: Internal: failed call to cuDevicePrimaryCtxRetain: CUDA_ERROR_OUT_OF_MEMORY: out of memory; total memory reported: 8510832640 中止 (コアダンプ)

python

1# GPUメモリを制限したり初期化する設定 2import tensorflow as tf 3from keras.backend import tensorflow_backend 4 5config = tf.ConfigProto(gpu_options=tf.GPUOptions(allow_growth=True)) 6session = tf.Session(config=config) 7tensorflow_backend.set_session(session)

試したこと

メモリ制限を行うことでメモリエラーが解決されることがあるようなので上のように制限しましたが、同じエラーが出ます。

補足情報(FW/ツールのバージョンなど)

Linux Ubuntu 18.04.4 LTS
anaconda 最新版
keras-gpu==2.2.4
tensorflow-gpu==1.14.0
Cuda=9.0

GTX 1080
GTX 1070ti

nvcc- V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176
(nvidia-smiではcuda10.1となっていますが、nvcc-Vで確認すると9.0でした)

Fri Feb 14 09:51:45 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 435.21 Driver Version: 435.21 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 107... Off | 00000000:01:00.0 Off | N/A |
| 0% 37C P8 5W / 180W | 214MiB / 8119MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 GeForce GTX 1080 Off | 00000000:03:00.0 On | N/A |
| 0% 58C P8 12W / 210W | 8043MiB / 8116MiB | 6% Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 12535 C ...naconda3/envs/keras_condaenv/bin/python 101MiB |
| 0 14486 C ...naconda3/envs/keras_condaenv/bin/python 101MiB |
| 1 1397 G /usr/lib/xorg/Xorg 18MiB |
| 1 1436 G /usr/bin/gnome-shell 49MiB |
| 1 1705 G /usr/lib/xorg/Xorg 123MiB |
| 1 1838 G /usr/bin/gnome-shell 78MiB |
| 1 2200 G ...AAAAAAAAAAAAAAgAAAAAAAAA --shared-files 60MiB |
| 1 12535 C ...naconda3/envs/keras_condaenv/bin/python 7471MiB |
| 1 14486 C ...naconda3/envs/keras_condaenv/bin/python 237MiB |
+-----------------------------------------------------------------------------+

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

再起動で解決できました。
jupyter-notebookを使い終わったらCtrl+cでコマンドプロンプトを終了させれば毎回再起動しなくてよいようです。

投稿2020/02/14 03:24

kimtakuya_

総合スコア22

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.44%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問