GPU版のtensorflowをUbuntu 14.04にインストールしました。
テンソルフローが利用可能なGPUにアクセスできるGPUサーバーを使用しています。
CPUでテンソルフローを実行したいです。
通常私はGPU上で実行するのにenv CUDA_VISIBLE_DEVICES=0
を使うことができます。 0.
代わりにどうやってCPUを選ぶことができますか?
私は自分のコードをwith tf.device("/cpu:0"):
で書き換えることに興味を持っていません
device_count
ごとにtf.Session
パラメータを適用できます。
config = tf.ConfigProto(
device_count = {'GPU': 0}
)
sess = tf.Session(config=config)
Protobuf設定ファイルも参照してください。
環境変数を次のように設定することもできます。
CUDA_VISIBLE_DEVICES=""
ソースコードを修正する必要はありません。
上記の答えがうまくいかない場合は、次のいずれかを試してください。
os.environ['CUDA_VISIBLE_DEVICES'] = ''
または
os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
私にとっては、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
以下のコードを使うだけです。
import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ['CUDA_VISIBLE_DEVICES'] = '-1'