Я использую Tensorflow 1.13 из образа докера. тензор потока / тензор потока: 1.13.1-gpu-py3-jupyter с использованием API Estimator.У меня есть машина с 4 графическими процессорами K-80.Когда я тренирую модель, журналы показывают, что Tensorflow может видеть мои устройства.Однако, глядя на график модели на Tensorboard, он говорит, что он использует только процессоры.Глядя на глобальные шаги в секунду в Tensorboard, он говорит, что модель на машине с графическими процессорами занимает немного (но примерно столько же) глобальных шагов в секунду, как и на моем ноутбуке, который использует только процессоры.
Мой тренировочный код:
estimator = tf.estimator.DNNClassifier(
model_dir=args['model_dir'],
feature_columns=[tf.feature_column.numeric_column(key='val')],
hidden_units=args['hidden_units'],
n_classes=args['num_classes'],
optimizer=tf.train.AdamOptimizer(
learning_rate=args['learning_rate'],
))
def gen_input_fn(data, target_column, batch_size=32, shuffle=True, num_epochs=1):
return tf.estimator.inputs.pandas_input_fn(
x=data,
y=data[str(target_column)],
shuffle=shuffle,
batch_size=batch_size,
num_epochs=num_epochs
)
train_spec = tf.estimator.TrainSpec(input_fn=gen_input_fn(train_data, train_data.shape[1], num_epochs=args['num_epochs']))
eval_spec = tf.estimator.EvalSpec(input_fn=gen_input_fn(eval_data, eval_data.shape[1], shuffle=False), throttle_secs=args['throttle_secs'])
tf.estimator.train_and_evaluate(estimator, train_spec, eval_spec)