teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

誤解を招く、無駄な情報の削除

2021/09/29 01:04

投稿

37458
37458

スコア70

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  ### 問題・質問
2
- keras,tensorflow2.3を用いてモデル構造を試行錯誤中、あるモデルがメモリ(GPUではなく、データセットとも別)を35GB消費していました。コミットチャージも30GBほど使用しており、そのせいか~~1step毎に1分かかるほど遅いです。~~※遅いのはデータセット逐次的読み込み時のバグのせいでした。
2
+ keras,tensorflow2.3を用いてモデル構造を試行錯誤中、あるモデルがメモリ(GPUメモリではなく、データセットとも別)を35GB消費していました。
3
3
  モデルにスライスを多用しており、そのせいで計算グラフが肥大化しているのではないかと考えているのですが、検索してもそれらしい回答は得られませんでした。
4
4
 
5
5
  そこで、kerasが使用するメモリ量は何に依存するのか、どういう処理をしてるかなど、大まかでもよいので教えていただけないでしょうか?

3

速度の改善

2021/09/29 01:04

投稿

37458
37458

スコア70

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  ### 問題・質問
2
- keras,tensorflow2.3を用いてモデル構造を試行錯誤中、あるモデルがメモリ(GPUではなく、データセットとも別)を35GB消費していました。コミットチャージも30GBほど使用しており、そのせいか1step毎に1分かかるほど遅いです。
2
+ keras,tensorflow2.3を用いてモデル構造を試行錯誤中、あるモデルがメモリ(GPUではなく、データセットとも別)を35GB消費していました。コミットチャージも30GBほど使用しており、そのせいか~~1step毎に1分かかるほど遅いです。~~※遅いのはデータセット逐次的読み込み時のバグのせいでした。
3
3
  モデルにスライスを多用しており、そのせいで計算グラフが肥大化しているのではないかと考えているのですが、検索してもそれらしい回答は得られませんでした。
4
4
 
5
5
  そこで、kerasが使用するメモリ量は何に依存するのか、どういう処理をしてるかなど、大まかでもよいので教えていただけないでしょうか?

2

メモリ使用量追跡

2021/09/04 02:35

投稿

37458
37458

スコア70

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,8 @@
1
1
  ### 問題・質問
2
- keras,tensorflow2.3を用いてモデル構造を試行錯誤中、あるモデルが構築時に35GBものメモリ(GPUではなく、データセットとも別)を消費していました。コミットチャージも30GBほど使用しており、そのせいか1step毎に1分かかるほど遅いです。
2
+ keras,tensorflow2.3を用いてモデル構造を試行錯誤中、あるモデルがメモリ(GPUではなく、データセットとも別)を35GB消費していました。コミットチャージも30GBほど使用しており、そのせいか1step毎に1分かかるほど遅いです。
3
3
  モデルにスライスを多用しており、そのせいで計算グラフが肥大化しているのではないかと考えているのですが、検索してもそれらしい回答は得られませんでした。
4
4
 
5
- そこで、kerasがモデル構築時に使用するメモリ量は何に依存するのか、どういう処理をしてるかなど大まかでもよいので教えていただけないでしょうか?
5
+ そこで、kerasが使用するメモリ量は何に依存するのか、どういう処理をしてるかなど大まかでもよいので教えていただけないでしょうか?
6
6
  ### 試したモデルについて
7
7
  ちなみに試したモデルは、trainable_parm5000,untrainable_parm80,入力要素数50000,出力要素数100。Conv2D+BatchNorm+ReLuで1層とすると平均的には10層程度であり(要素によって通過する層が違います。)、下記のような処理を多用しています。
8
8
  ```Python
@@ -11,7 +11,12 @@
11
11
  encoder = Model(x,y)#内部構造省略。3層程度です。
12
12
  a = [encoder(input_[:,x]) for x in range(input_.shape[1])]
13
13
  ```
14
- ### 補足
14
+ ### メモリ使用量追跡
15
15
  搭載メモリ16GB。
16
+ リソースモニターのメモリタブpython.exeを追跡しました。
16
- train時にタスクマネジャーではメモリ使用率60%程、リソースモニーではコミット42GB、ワーキングセット3GBとなっています。
17
+ ータセット読み込み前:コミット0.58GB ワーキング0.23GB
18
+ データセット読み込み後:コミット2.72GB ワーキング2.37GB
19
+ モデルcompile後:コミット13.72GB ワーキング5.44GB
20
+ モデルtrain中:コミット29~33GB ワーキング7~13GB
21
+
17
- また、CPU使用率14%,GPU使用率1%,専用GPUメモリ使用率90%のため、GPUを認識していないわけでも、計算能力が足りていないわけでもないようです。
22
+ CPU使用率14%,GPU使用率1%,専用GPUメモリ使用率90%のため、GPUを認識していないわけでも、計算能力が足りていないわけでもないようです。

1

補足情報:マシンスペック

2021/09/03 11:39

投稿

37458
37458

スコア70

title CHANGED
File without changes
body CHANGED
@@ -10,4 +10,8 @@
10
10
  input_ = Input((10,100))
11
11
  encoder = Model(x,y)#内部構造省略。3層程度です。
12
12
  a = [encoder(input_[:,x]) for x in range(input_.shape[1])]
13
- ```
13
+ ```
14
+ ### 補足
15
+ 搭載メモリ16GB。
16
+ train時にタスクマネージャーではメモリ使用率60%程、リソースモニターではコミット42GB、ワーキングセット3GBとなっています。
17
+ また、CPU使用率14%,GPU使用率1%,専用GPUメモリ使用率90%のため、GPUを認識していないわけでも、計算能力が足りていないわけでもないようです。