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

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

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

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

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Q&A

解決済

1回答

11806閲覧

ResourceExhaustedErrorの対処法

Seven_Sea

総合スコア23

Keras

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

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

0グッド

0クリップ

投稿2020/06/30 09:44

U-netによるセグメンテーションモデルを作成しているのですが、
バッチサイズが2より上にすると表題のエラーがでるようです。

画像サイズは256×256の画像が、200枚ずつ(教師データ200、元画像データ200)
Epochはとりあえず100
バッチサイズは2より上だと以下エラー。

バッチサイズを最低でも32くらいにならないのかなーって甘い期待をしてますが。
Quadroくらいだとこんなものなのでしょうか?
ソースをすべて載せないと、、、の場合は、載せますが、
載せていいものなのか、結構長くなりますので。
よろしくお願いいたします。

環境
Anaconda:Python3.6.10
GPU:QuadroK2200
tensorflow:2.1.0
keras:tensorflow内蔵
Cuda:10.1
CuDnn:7.6


ResourceExhaustedError: OOM when allocating tensor with shape[4,256,256,128] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
[[node model_2/up_sampling2d_3/resize/ResizeNearestNeighbor (defined at <ipython-input-21-8137d3044e4b>:8) ]]
Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.
[Op:__inference_distributed_function_58987]

Function call stack:
distributed_function


from tensorflow.python.client import device_lib
device_lib.list_local_devices()を作動させると以下のが表示されます。

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 17687439948306646629,
name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 4020043776
locality {
bus_id: 1
links {
}
}
incarnation: 17285787839147137086
physical_device_desc: "device: 0, name: Quadro P2200, pci bus id: 0000:21:00.0, compute capability: 6.1"]

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

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

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

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

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

guest

回答1

0

ベストアンサー

4G だとメモリ不足ですね
入力サイズを (256, 256) より小さくすれば、メモリ使用量は減らせるとは思いますが、あまり小さいと精度に影響が出るかもしれません。

MNIST レベルなら 4G でも学習できますが、入力サイズがある程度大きい場合、4G で学習となると厳しいと思います。

メモリは最低 8G (RTX2070 以上の GPU) はほしいところですが、GPU を用意するのが難しいようであれば、無料で GPU が使える Web サービスである Google Colab を使うといいかもしれません。

投稿2020/06/30 10:03

編集2020/06/30 10:07
tiitoi

総合スコア21954

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

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

Seven_Sea

2020/06/30 10:09

例えばRTX2070SUPERくらいのGPUでやったとしたら ざっくりバッチサイズどのくらいにはできるものなのでしょうか? 変えてもバッチサイズは2のままってことはありますか?
tiitoi

2020/06/30 10:20

メモリ使用量はモデル構造、入力サイズ、バッチサイズに依存します。 実際学習スクリプトを動かしてみて、nvidia-smi でメモリ使用量を確認する必要があるので、ここでバッチサイズはどのくらいまでなら載るかということは言えないです。 例えば、Google Colab で割り当てられる GPU Tesla K80 で12Gまで使えるので、それでバッチサイズ32で動くかどうか確認してはどうでしょうか ちなみにバッチサイズは32ぐらいないといけないことはなく、4とかでも普通に学習は進むので、バッチサイズを大きくすることにそこまで拘る必要はないです。
tiitoi

2020/06/30 10:23

> 2のままってことはありますか? 2よりは大きくできるとは思いますが、どのくらい大きくできるかは試してみないとわからないです。
Seven_Sea

2020/07/01 10:07

返答ありがとうございます。 新たにPCを購入して、バッチサイズ2のままってなると、 落ち込みが、、、、ひどいなって思って。 返答を真摯に受け止めて精進します。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問