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

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

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

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

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

Q&A

0回答

1916閲覧

tf.kerasでVAEを実装したが、VRAMが不足する。

EIP

総合スコア13

Keras

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

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

0グッド

0クリップ

投稿2020/08/23 18:30

以下のコードを実行しているのですが、バッチサイズと中間層の大きさに関わらず、何エポックかすると、途中でメモリ不足に陥ります。
GPUがGTX1650でVRAM4GBなので心許ないのは分かるのですが、ほかのkerasのチュートリアル(mnistが主ですが)ではこのエラーに陥ることもなく、GPUのメモリ使用率も80%を超えることなくエラーを吐くので、エポックをまたぐ際に何らかのメモリの解放エラーが起きているのではないかとも思い質問させていただきました。
心当たりのある原因、改善策、代替案等あれば、よろしくお願いいたします。

環境
CPU: Intel Core i7-8565U
RAM: 16GB
GPU: MSI GeForce GTX 1650 AERO ITX 4G OC (外付け)
Win10, CUDA 10.1.168, cuDNN 7.6.3, tensorflow 2.2

python

1import tensorflow as tf 2tf.config.experimental_run_functions_eagerly(True) 3 4from tensorflow.keras.layers import Input, Dense, Lambda 5from tensorflow.keras.models import Model 6from tensorflow.keras import backend as K 7from tensorflow.keras.datasets import mnist 8 9import numpy as np 10import matplotlib.pyplot as plt 11 12batch_sz = 8 13input_dim = 28*28 14latent_dim = 2 15intermediate_dim = 16 16epochs = 5 17eps_std = 1.0 18 19def sampling(args): 20 z_mean, z_log_var = args 21 eps = K.random_normal(shape=(K.shape(z_mean)[0], latent_dim), mean=0., stddev=eps_std) 22 return z_mean + K.exp(z_log_var / 2) * eps 23 24x = Input(shape=(input_dim, ), name='input') 25h = Dense(intermediate_dim, activation='relu', name='encoding')(x) 26z_mean = Dense(latent_dim, name='mean')(h) 27z_log_var = Dense(latent_dim, name='log-variance')(h) 28z = Lambda(sampling)([z_mean, z_log_var]) 29encoder = Model(x, [z_mean, z_log_var, z], name='encoder') 30 31input_decoder = Input(shape=(latent_dim, ), name='decoder_input') 32decoder_h = Dense(intermediate_dim, activation='relu', name='decoder_h')(input_decoder) 33x_decoded = Dense(input_dim, activation='sigmoid', name='flat_decoded')(decoder_h) 34decoder = Model(input_decoder, x_decoded, name='decoder') 35 36output_combined = decoder(encoder(x)[2]) # encoder(x)[2] = z 37vae = Model(x, output_combined) 38vae.summary() 39 40def binary_crossentropy(y_true, y_pred): 41 return K.sum(K.binary_crossentropy(y_pred, y_true), axis=-1) 42 43def vae_loss(x, x_decoded_mean, z_log_var=z_log_var, z_mean=z_mean, input_dim=input_dim): 44 latent_loss = - 0.5 * K.mean(K.sum(1 + K.log(K.square(z_log_var)) - K.square(z_mean) - K.square(z_log_var), axis=-1)) 45 reconst_loss = K.mean(binary_crossentropy(x, x_decoded_mean), axis=-1) 46 return latent_loss + reconst_loss 47 48vae.compile(optimizer='rmsprop', loss=vae_loss) 49 50(x_train, y_train), (x_test, y_test) = mnist.load_data() 51 52x_train = x_train.astype('float32') / 255. 53x_train = x_train.reshape((len(x_train), np.prod(x_train.shape[1:]))) # set 28*28 vector -> Faltten? 54x_test = x_test.astype('float32') / 255. 55x_test = x_test.reshape((len(x_test), np.prod(x_test.shape[1:]))) 56 57vae.fit(x_train, x_train, shuffle=True, epochs=epochs, batch_size=batch_sz)

error

1W tensorflow/core/common_runtime/bfc_allocator.cc:431] Allocator (GPU_0_bfc) ran out of memory trying to allocate 306.3KiB (rounded to 313600)requested by op Neg 2Current allocation summary follows. 32020-08-23 19:34:36.004111: I tensorflow/core/common_runtime/bfc_allocator.cc:970] BFCAllocator dump for GPU_0_bfc 42020-08-23 19:34:36.010692: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (256): Total Chunks: 5918, Chunks in use: 5916. 1.44MiB allocated for chunks. 1.44MiB in use in bin. 36.3KiB client-requested in use in bin. 52020-08-23 19:34:36.023584: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (512): Total Chunks: 3369, Chunks in use: 3368. 1.64MiB allocated for chunks. 1.64MiB in use in bin. 1.64MiB client-requested in use in bin. 62020-08-23 19:34:36.034659: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (1024): Total Chunks: 8423, Chunks in use: 8423. 8.23MiB allocated for chunks. 8.23MiB in use in bin. 7.50MiB client-requested in use in bin. 72020-08-23 19:34:36.047543: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (2048): Total Chunks: 1684, Chunks in use: 1684. 5.34MiB allocated for chunks. 5.34MiB in use in bin. 5.04MiB client-requested in use in bin. 82020-08-23 19:34:36.060309: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (4096): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin. 92020-08-23 19:34:36.071224: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (8192): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin. 102020-08-23 19:34:36.081070: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (16384): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin. 112020-08-23 19:34:36.091934: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (32768): Total Chunks: 1404, Chunks in use: 1404. 68.55MiB allocated for chunks. 68.55MiB in use in bin. 68.55MiB client-requested in use in bin. 122020-08-23 19:34:36.102413: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (65536): Total Chunks: 280, Chunks in use: 280. 22.22MiB allocated for chunks. 22.22MiB in use in bin. 13.67MiB client-requested in use in bin. 132020-08-23 19:34:36.113747: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (131072): Total Chunks: 1, Chunks in use: 0. 151.5KiB allocated for chunks. 0B in use in bin. 0B client-requested in use in bin. 142020-08-23 19:34:36.125337: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (262144): Total Chunks: 6741, Chunks in use: 6741. 2.24GiB allocated for chunks. 2.24GiB in use in bin. 2.17GiB client-requested in use in bin. 152020-08-23 19:34:36.137741: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (524288): Total Chunks: 842, Chunks in use: 842. 503.63MiB allocated for chunks. 503.63MiB in use in bin. 322.24MiB client-requested in use in bin. 162020-08-23 19:34:36.149973: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (1048576): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin. 172020-08-23 19:34:36.160365: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (2097152): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin. 182020-08-23 19:34:36.170816: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (4194304): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin. 192020-08-23 19:34:36.181245: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (8388608): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin. 202020-08-23 19:34:36.191982: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (16777216): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin. 212020-08-23 19:34:36.202526: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (33554432): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin. 222020-08-23 19:34:36.215827: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (67108864): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin. 232020-08-23 19:34:36.227059: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (134217728): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin. 242020-08-23 19:34:36.238551: I tensorflow/core/common_runtime/bfc_allocator.cc:977] Bin (268435456): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin. 252020-08-23 19:34:36.249203: I tensorflow/core/common_runtime/bfc_allocator.cc:993] Bin for 306.3KiB was 256.0KiB, Chunk State: 262020-08-23 19:34:36.258969: I tensorflow/core/common_runtime/bfc_allocator.cc:1006] Next region of size 3050779392 272020-08-23 19:34:36.274268: I tensorflow/core/common_runtime/bfc_allocator.cc:1026] InUse at 70a200000 of size 1280 next 1 282020-08-23 19:34:36.282070: I tensorflow/core/common_runtime/bfc_allocator.cc:1026] InUse at 70a200500 of size 256 next 5 29~~~以下、同様のInUseのエラーが続く~~~

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問