回答編集履歴

1

(★)以降のコードを実行せずとも、正常にメモリ抑制ができた為。

2020/12/02 13:36

投稿

koyamashinji
koyamashinji

スコア45

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  正直、(★)以降のコードについては、かなり色んなサイトやブログで紹介されていますが
12
12
 
13
- 前段階して、tensorflowをimportする前に 環境変数 TF_FORCE_GPU_ALLOW_GROWTHをTrueに設定必須であることは私の調べる限りどこも言及してありせんでした。
13
+ (★)以降コードを実行せず、tensorflowをimportする前に 環境変数 TF_FORCE_GPU_ALLOW_GROWTHをTrueに設定すれば正常メモリ抑制できました。
14
14
 
15
15
 
16
16
 
@@ -50,52 +50,54 @@
50
50
 
51
51
 
52
52
 
53
- # Tensorflowのバージョンに応じて、メモリ使用量を抑えるコードを実行(★)
53
+ #(★)
54
54
 
55
- gpu_id = 0
55
+ # Tensorflowのバージョンに応じて、メモリ使用量を抑えるコードを実行
56
56
 
57
- print(tf.__version__)
57
+ # gpu_id = 0
58
58
 
59
- if tf.__version__ >= "2.1.0":
59
+ # print(tf.__version__)
60
60
 
61
- physical_devices = tf.config.list_physical_devices('GPU')
61
+ # if tf.__version__ >= "2.1.0":
62
62
 
63
- tf.config.list_physical_devices('GPU')
63
+ # physical_devices = tf.config.list_physical_devices('GPU')
64
64
 
65
- tf.config.set_visible_devices(physical_devices[gpu_id], 'GPU')
65
+ # tf.config.list_physical_devices('GPU')
66
66
 
67
+ # tf.config.set_visible_devices(physical_devices[gpu_id], 'GPU')
68
+
67
- tf.config.experimental.set_memory_growth(physical_devices[gpu_id], True)
69
+ # tf.config.experimental.set_memory_growth(physical_devices[gpu_id], True)
68
70
 
69
71
 
70
72
 
71
- elif tf.__version__ >= "2.0.0":
73
+ # elif tf.__version__ >= "2.0.0":
72
74
 
73
- #TF2.0
75
+ # #TF2.0
74
76
 
75
- physical_devices = tf.config.experimental.list_physical_devices('GPU')
77
+ # physical_devices = tf.config.experimental.list_physical_devices('GPU')
76
78
 
77
- tf.config.experimental.set_visible_devices(physical_devices[gpu_id], 'GPU')
79
+ # tf.config.experimental.set_visible_devices(physical_devices[gpu_id], 'GPU')
78
80
 
79
- tf.config.experimental.set_memory_growth(physical_devices[gpu_id], True)
81
+ # tf.config.experimental.set_memory_growth(physical_devices[gpu_id], True)
80
82
 
81
83
 
82
84
 
83
- else:
85
+ # else:
84
86
 
85
- from tensorflow.keras.backend import set_session
87
+ # from tensorflow.keras.backend import set_session
86
88
 
87
- config = tf.ConfigProto(
89
+ # config = tf.ConfigProto(
88
90
 
89
- gpu_options=tf.GPUOptions(
91
+ # gpu_options=tf.GPUOptions(
90
92
 
91
- visible_device_list=str(gpu_id), # specify GPU number
93
+ # visible_device_list=str(gpu_id), # specify GPU number
92
94
 
93
- allow_growth=True
95
+ # allow_growth=True
94
96
 
95
- )
97
+ # )
96
98
 
97
- )
99
+ # )
98
100
 
99
- set_session(tf.Session(config=config))
101
+ # set_session(tf.Session(config=config))
100
102
 
101
103
  ```