paddle paddleはGPUを使用します.
3310 ワード
pip install paddlepaddle-gpu
2.GPUの設定使用
GPUを使うには
use_gpu true:
import
paddle.v2 as paddle
# Initialize PaddlePaddle.
paddle.init(use_gpu
=
true, trainer_count
=
1
)
# Configure the neural network.
x
=
paddle.layer.data(name
=
'x'
,
type
=
paddle.data_type.dense_vector(
13
))
y_predict
=
paddle.layer.fc(
input
=
x, size
=
1
, act
=
paddle.activation.Linear())
# Infer using provided test data.
probs
=
paddle.infer(
output_layer
=
y_predict,
parameters
=
paddle.dataset.uci_housing.model(),
input
=
[item
for
item
in
paddle.dataset.uci_housing.test()()])
for
i
in
xrange
(
len
(probs)):
print
'Predicted price: ${:,.2f}'
.
format
(probs[i][
0
]
*
1000
)
3.GPUとCPUの
GPUとCPUを ってネットワーク のパラメータを することができます.つまり、ネットワークをいくつかの に してGPUを って することができますが、 の はCPUを って します.もう つの は、ネットワーク を なるGPUに して することで、GPUメモリを したり、 を いていくつかの の を することができる.ネットワーク でデバイスのID (deviceIdと )を したい 、 えたコマンドラインパラメータ:--parallel_nn=trueparallel_nn
#command line:
paddle train
-
-
use_gpu
=
true
-
-
parallel_nn
=
true
-
-
trainer_count
=
COUNT
#network:
fc2
=
fc_layer(
input
=
l1, layer_attr
=
ExtraAttr(device
=
0
), ...)
fc3
=
fc_layer(
input
=
l1, layer_attr
=
ExtraAttr(device
=
1
), ...)
fc4
=
fc_layer(
input
=
fc2, layer_attr
=
ExtraAttr(device
=
-
1
この では、 つのマシンに4つのGPUがあると します.triner_count=1: 0 GPUを ってfc 2 を します. 1 GPUを ってfc 3 を する. CPUを いてfc 4 を する. triner_count=2: 0 と1 のGPUを ってfc 2 を します. 2 と3 のGPUを ってfc 3 を します. CPU 2スレッドを いてfc 4 を する. ), ...)