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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

2回答

6285閲覧

Tensorflowで'std::bad_alloc'エラー

good_morning

総合スコア61

Python 3.x

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

0クリップ

投稿2018/08/16 10:08

編集2018/08/16 11:17

製品の欠陥検査を画像分析して行おうと思って、次のSemanticSegmentationモデルをcloneしました。
https://github.com/tks10/segmentation_unet

実行できるようになったのですが、次のエラーで終了しました。
********:~/SemanticSegmentation$ python3.6 main.py
/usr/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: compiletime version 3.5 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.6
return f(*args, **kwds)
[Parameters]
epoch 250
batch_size 32
train_rate 0.85
augmentation True
l2_regularization 0.001

Loading original images.............. Completed
Loading segmented images.............. Completed
Casting to one-hot encoding... Done
2018-08-16 18:46:42.775135: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
中止

環境は次のとおりです。
ubuntu 16.04
Python 3.6
TensorFlow 1.4.0
Pillow 5.1.0

どうやらSSE4.1 SSE4.2は関係ないようですので、メモリ不足なのかなと思っています。
よろしくお願いします。

追記
次のURLによると、大量の画像を読み込もうとするとなるそうです。
http://www-epx.phys.tohoku.ac.jp/groups/tomoyukisaito/wiki/44aca/terminate_called_after_throwing_an_instance_of_stdbad_alloc.html
そうすると、環境(HW)をアップグレードするしかないかもしれません。

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

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

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

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

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

guest

回答2

0

解決済みですが、参考になりそうなことを記します。
エラーはtesorflowがメモリの確保に失敗したときに出るようです。プログラムの工夫で対応する方法に以下があります。
1.不要なarrayの削除
読み込んだ画像を加工している過程で生成されるarrayのうち、不要なものを削除すると空きが出来ます。
2.バッチサイズの縮小
バッチサイズが大きいとそれだけ大きいメモリが必要になるので、学習に影響しない範囲で縮小するといいかもしれません。
3.画像自体の縮小
マージンを削って画像を小さくすれば必要なメモリは小さくなります。
2.tensorflowのメモリ割り当てオプションの調整
tf.sessionのオプションに最大メモリ割り当てがあるようです。(GPUにはありますがCPUは未確認)

投稿2018/08/18 09:50

R.Shigemori

総合スコア3376

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

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

0

自己解決

とりあえず、クローズします。
ご協力ありがとうございました。

投稿2018/08/18 04:46

good_morning

総合スコア61

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問