質問編集履歴
3
解決策の追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -79,3 +79,39 @@
|
|
79
79
|
windowsではタスクマネージャーのパフォーマンスでメモリの使用量が増えることを確認し、
|
80
80
|
|
81
81
|
Colaboratoryでは12GのRAMのすべてを使用したためクラッシュしました。
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
**--- 解決 ---**
|
86
|
+
|
87
|
+
PILオブジェクトを定期的に読み込むことで解決しました。
|
88
|
+
|
89
|
+
```python
|
90
|
+
|
91
|
+
# 繰り返し操作
|
92
|
+
|
93
|
+
while True:
|
94
|
+
|
95
|
+
# 1GB分の画像データをPILで読み込みリストに入れる
|
96
|
+
|
97
|
+
pil_img_list = [Image.open(name) for name in img_name_list]
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
# あらかじめ確認したメモリリークしない100周を回す
|
102
|
+
|
103
|
+
for i in range(100):
|
104
|
+
|
105
|
+
# ランダムに画像を選択してndarrayに変換する
|
106
|
+
|
107
|
+
random_index = np.random.randint(0, len(pil_img_list))
|
108
|
+
|
109
|
+
numpy_data = np.array(pil_img_list[random_index])
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
# 何かしらの操作
|
114
|
+
|
115
|
+
hoge(numpy_data)
|
116
|
+
|
117
|
+
```
|
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -11,6 +11,12 @@
|
|
11
11
|
|
12
12
|
|
13
13
|
以下に行ったプログラムの簡単に記述しました。これを実行するとどんどん使用メモリが増えていきます。
|
14
|
+
|
15
|
+
ループを数えたところだいたい150順ぐらいで12GBを超えました。
|
16
|
+
|
17
|
+
画像はすべて10MBくらいで大きな差はありません。
|
18
|
+
|
19
|
+
hoge関数を消しても相変わらずメモリは増えるのでnumpyの変換が原因なのかと思います。
|
14
20
|
|
15
21
|
|
16
22
|
|
@@ -42,7 +48,13 @@
|
|
42
48
|
|
43
49
|
# 一応試した変数削除
|
44
50
|
|
51
|
+
print("numpy_data" in globals()) # True
|
52
|
+
|
45
53
|
del numpy_data
|
54
|
+
|
55
|
+
gc.collect()
|
56
|
+
|
57
|
+
print("numpy_data" in globals()) # False
|
46
58
|
|
47
59
|
```
|
48
60
|
|
1
情報の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -38,6 +38,12 @@
|
|
38
38
|
|
39
39
|
hoge(numpy_data)
|
40
40
|
|
41
|
+
|
42
|
+
|
43
|
+
# 一応試した変数削除
|
44
|
+
|
45
|
+
del numpy_data
|
46
|
+
|
41
47
|
```
|
42
48
|
|
43
49
|
|
@@ -45,3 +51,19 @@
|
|
45
51
|
環境の容量の関係上あらかじめndarrayを用意することができません。
|
46
52
|
|
47
53
|
上記に似た方法で処理を行いたいと思っています、ぜひ解決策をご教示願います。
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
環境
|
58
|
+
|
59
|
+
・windows10, Pycharm:2019.2.3, python3.7, Pillow:6.1.0, numpy:1.16.4
|
60
|
+
|
61
|
+
・Colaboratory, Pillow:4.3.0, numpy:1.17.3
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
メモリに関しては知識不足で詳細にお答えすることができません。
|
66
|
+
|
67
|
+
windowsではタスクマネージャーのパフォーマンスでメモリの使用量が増えることを確認し、
|
68
|
+
|
69
|
+
Colaboratoryでは12GのRAMのすべてを使用したためクラッシュしました。
|