Tensorflow распознает, но не использует мой графический процессор - PullRequest
0 голосов
/ 14 марта 2019

Я использую 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)

enter image description here enter image description here enter image description here

...