質問編集履歴
4
誤解を招く、無駄な情報の削除
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
### 問題・質問
|
2
|
-
keras,tensorflow2.3を用いてモデル構造を試行錯誤中、あるモデルがメモリ(GPUではなく、データセットとも別)を35GB消費していました。
|
2
|
+
keras,tensorflow2.3を用いてモデル構造を試行錯誤中、あるモデルがメモリ(GPUメモリではなく、データセットとも別)を35GB消費していました。
|
3
3
|
モデルにスライスを多用しており、そのせいで計算グラフが肥大化しているのではないかと考えているのですが、検索してもそれらしい回答は得られませんでした。
|
4
4
|
|
5
5
|
そこで、kerasが使用するメモリ量は何に依存するのか、どういう処理をしてるかなど、大まかでもよいので教えていただけないでしょうか?
|
3
速度の改善
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
メモリ使用量追跡
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
### 問題・質問
|
2
|
-
keras,tensorflow2.3を用いてモデル構造を試行錯誤中、あるモデルが
|
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
|
-
|
17
|
+
データセット読み込み前:コミット0.58GB ワーキング0.23GB
|
18
|
+
データセット読み込み後:コミット2.72GB ワーキング2.37GB
|
19
|
+
モデルcompile後:コミット13.72GB ワーキング5.44GB
|
20
|
+
モデルtrain中:コミット29~33GB ワーキング7~13GB
|
21
|
+
|
17
|
-
|
22
|
+
CPU使用率14%,GPU使用率1%,専用GPUメモリ使用率90%のため、GPUを認識していないわけでも、計算能力が足りていないわけでもないようです。
|
1
補足情報:マシンスペック
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を認識していないわけでも、計算能力が足りていないわけでもないようです。
|