web-dev-qa-db-ja.com

CPUでTensorflowを実行する方法

GPU版のtensorflowをUbuntu 14.04にインストールしました。

テンソルフローが利用可能なGPUにアクセスできるGPUサーバーを使用しています。

CPUでテンソルフローを実行したいです。

通常私はGPU上で実行するのにenv CUDA_VISIBLE_DEVICES=0を使うことができます。 0.

代わりにどうやってCPUを選ぶことができますか?

私は自分のコードをwith tf.device("/cpu:0"):で書き換えることに興味を持っていません

85

device_countごとにtf.Sessionパラメータを適用できます。

config = tf.ConfigProto(
        device_count = {'GPU': 0}
    )
sess = tf.Session(config=config)

Protobuf設定ファイルも参照してください。

tensorflow/core/framework/config.proto

環境変数を次のように設定することもできます。

CUDA_VISIBLE_DEVICES=""

ソースコードを修正する必要はありません。

140
fabrizioM

上記の答えがうまくいかない場合は、次のいずれかを試してください。

os.environ['CUDA_VISIBLE_DEVICES'] = ''

または

os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
54

私にとっては、CUDA_VISIBLE_DEVICESを正確に-1に設定するだけでうまくいきます。

作品:

import os
import tensorflow as tf

os.environ['CUDA_VISIBLE_DEVICES'] = '-1'

if tf.test.gpu_device_name():
    print('GPU found')
else:
    print("No GPU found")

# No GPU found

は動作しません

import os
import tensorflow as tf

os.environ['CUDA_VISIBLE_DEVICES'] = ''    

if tf.test.gpu_device_name():
    print('GPU found')
else:
    print("No GPU found")

# GPU found
10
Andrzej Gis

以下のコードを使うだけです。

import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
3
Yi Shang