Довольно изящным и разделяемым способом этого является использование
import tensorflow as tf
from keras import backend as K
num_cores = 4
if GPU:
num_GPU = 1
num_CPU = 1
if CPU:
num_CPU = 1
num_GPU = 0
config = tf.ConfigProto(intra_op_parallelism_threads=num_cores,\
inter_op_parallelism_threads=num_cores, allow_soft_placement=True,\
device_count = {'CPU' : num_CPU, 'GPU' : num_GPU})
session = tf.Session(config=config)
K.set_session(session)
Здесь, где booleans
GPU
и CPU
вы можете указать, следует ли использовать GPU или GPU при запуске код. Обратите внимание, что я делаю это, указав, что есть 0 графических устройств, когда я хочу просто использовать CPU. В качестве дополнительного бонуса с помощью этого метода вы можете указать, сколько графических процессоров и процессоров использовать тоже! Кроме того, через num_cores
вы можете установить количество ядер процессора.
Все это выполняется в конструкторе моего класса перед любыми другими операциями и полностью отделяется от любой модели или другой код я использую.
Единственное, что нужно отметить, это то, что вам понадобятся tensorflow-gpu
и cuda
/ cudnn
, потому что вы всегда даете возможность использовать графический процессор.
В ... момент! Это кажется ошибкой в moment-timezone
(см. # 738 , # 258 ). Текущий обходной путь, который я нашел, состоит в том, чтобы сначала использовать moment.utc()
(который очищает часовой пояс, а также устанавливает момент в режиме «utc»), а затем moment.local()
. То есть moment.utc().local()
.