Tensorflow可以识别但不会使用我的GPU

时间:2019-03-14 18:32:43

标签: python tensorflow tensorflow-estimator

我正在使用Estimator API从docker映像tensorflow/tensorflow:1.13.1-gpu-py3-jupyter中使用Tensorflow 1.13。我有一台装有4个K-80 GPU的机器。当我训练模型时,日志表明Tensorflow可以看到我的设备。但是,在Tensorboard上查看模型图时,它表示仅在使用CPU。在Tensorboard中查看全局步数/秒时,它说带有GPU的计算机上的模型与仅使用CPU的笔记本电脑相比,每秒花费的全局步数(但几乎是相同)。

我的训练代码:

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

0 个答案:

没有答案