问题: keras 使用单个或多个GPU训练模型
解决办法:
-
单个GPU:直接设置环境
import os import os os.environ["CUDA_VISIBLE_DEVICES"] = "0" # 指定GPU编号 def get_model(): # input_ids = keras.layers.Input(shape=(MAXLEN, ))... #_, x = bert_model([input_ids, attension_mask, token_type_ids]) # outputs = keras.layers.Dense(1, activation='sigmoid')(x) model = keras.models.Model(inputs=inputs, outputs=outputs) model.compile(loss='binary_crossentropy', optimizer=keras.optimizers.Adam(lr=LR), metrics=['accuracy']) return model
-
多个GPU:设置环境 + 规定数目
import os os.environ["CUDA_VISIBLE_DEVICES"] = "0, 1, 2, 3" # 改变编号 def get_model(): # input_ids = keras.layers.Input(shape=(MAXLEN, ))... #_, x = bert_model([input_ids, attension_m