tensorflow之如何使用GPU而不是CPU問題
如何使用GPU而不是CPU
首先查看設(shè)備
1
2
from
tensorflow.python.client
import
device_lib
print
(device_lib.list_local_devices())
如果發(fā)現(xiàn)只有一個CPU可用
則說明可能存在一下情況:?
1 tensorflow-gpu是否安裝,版本查看,如果版本低于tensorflow,則默認(rèn)啟動CPU(t-gpu版本最好高于t)
1
pip install tensorflow
-
gpu
=
=
2.3
.
0
-
i https:
/
/
pypi.douban.com
/
simple
/
2?CUDA初始化
在開始訓(xùn)練的前面輸入如下:
1
2
3
4
5
6
7
8
9
10
# 使用CPU:
import
os
os.environ[
"CUDA_DEVICE_ORDER"
]
=
"PCI_BUS_ID"
os.environ[
"CUDA_VISIBLE_DEVICES"
]
=
"-1"
# 這一行注釋掉就是使用cpu,不注釋就是使用gpu
# 使用GPU:
import
os
os.environ[
"CUDA_DEVICE_ORDER"
]
=
"PCI_BUS_ID"
# os.environ['CUDA_VISIBLE_DEVICES'] = "0" #這個是僅選擇使用GPU 0
# os.environ['CUDA_VISIBLE_DEVICES'] = "1" #這個是僅選擇使用GPU 1
# os.environ['CUDA_VISIBLE_DEVICES']? = “0,1” #設(shè)置當(dāng)前使用的GPU設(shè)備為0,1號
tensorflow使用GPU的設(shè)置方式
方法一
1
2
3
Config
=
tf.ConfigProto(allow_soft_placement
=
True
) ?
##:如果你指定的設(shè)備不存在,允許TF自動分配設(shè)備
Config.gpu_options.allow_growth
=
True
?##動態(tài)分配內(nèi)存
sess
=
tf.session(config
=
config)
方法二
1
2
3
4
gpu_options
=
tf.GPUOptions(allow_growth
=
True
)
gpu_options
=
tf.GPUOptions(per_process_gpu_memory_fraction
=
0.8
,allow_growth
=
True
)
##每個gpu占用0.8的顯存
config
=
tf.ConfigProto(gpu_options
=
gpu_options,allow_soft_placement
=
True
)
sess
=
tf.session(config
=
config)
##如果電腦有多個GPU,tensorflow默認(rèn)全部使用。如果想只使用部分GPU,可以設(shè)置CUDA_VISIBLE_DEVICES。
控制使用哪個gpu
1
2
3
os.environ[“CUDA_DEVICE_ORDER”]
=
“PCI_BUS_ID”
##指定的設(shè)備名稱
os.environ[‘CUDA_VISIBLE_DEVICES
'] = ‘0'
#使用 GPU 0
os.environ[‘CUDA_VISIBLE_DEVICES
'] = ‘0,1'
# 使用 GPU 0,1
標(biāo)簽: