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.
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
È 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