2015-11-12 26 views
7

Così il proto sessione config ha un'opzione device_filters, con il commento:Qual è il formato dei filtri del dispositivo in TensorFlow?

// When any filters are present sessions will ignore all devices which do not 
    // match the filters. Each filter can be partially specified, e.g. "/job:ps" 
    // "/job:worker/replica:3", etc. 

Qualcuno ha una spiegazione concreta del formato? Ad esempio, voglio escludere/gpu: 0 come opzione perché lo uso per far girare altri modelli.

Ho provato

config = tf.ConfigProto() 
config.device_filters.append('/gpu:1') 
config.device_filters.append('/cpu:0') 
with tf.Session(config=config): 
    # Do stuff 

Ma sto ancora ricevendo ops assegnati alla gpu 0. non voglio ignorare i dispositivi su una base per-op.

risposta

3

Il campo ConfigProto.device_filters è attualmente ignorato da TensorFlow, anche se è destinato a supportare il caso d'uso in futuro. Se si vuole raggiungere lo stesso fine ops in esecuzione su /gpu:1 e /cpu:0, si può fare come segue, l'utilizzo di "placement soft":

with tf.device("/gpu:1"): 
    # Build your model in this with context. All nodes will get the 
    # device "/gpu:1". 

with tf.Session(config=tf.ConfigProto(allow_soft_placement=True)): 
    # Execute your mode in this with context. 
    # Soft placement will use /gpu:1 for GPU-compatible ops, and /cpu:0 
    # for CPU-only ops. 
+0

qualsiasi timeline per l'attuazione di questo meccanismo? Un caso d'uso comune assegnerà tutto a una delle GPU in una configurazione multi-GPU (vale a dire un lavoro 'train' e uno' eval') – MZHm

+1

È implementato per Distributed TensorFlow, quindi se si crea un 'tf.train .Server' e quindi connetti il ​​tuo 'tf.Session' a quel server, puoi usare l'opzione. In alternativa, puoi usare l'opzione ['tf.ConfigProto.gpu_options.visible_device_list'] (https://github.com/tensorflow/tensorflow/blob/4b136d9fc4de0a53c17e336965f8884fd36168a8/tensorflow/core/protobuf/config.proto#L42) per specificare che a 'tf.Session' usa solo un sottoinsieme delle GPU (locali). – mrry

Problemi correlati