Распределенный код Tensorflow использует много потоков - PullRequest
0 голосов
/ 20 сентября 2018

Я использую 16 рабочих и сервер параметров (запущен с запуска subprocess.Popen), чтобы выполнить собственную реализацию алгоритма A3C.Мой код использует tf.train.Server и tf.train.MonitoredTrainingSession для связи.

Я ожидал 1 поток на процесс для сбора опыта из среды обучения с подкреплением и некоторый для GRPC, но в действительности каждый процесс имеет 138 или 139 потоков накластер Я использую свой алгоритмЯ думаю, это зависит от компьютера, так как на моем ноутбуке у меня только есть 47 или 48 потоков / процесс.

Моя tf.train.Server конфигурация выглядит следующим образом:

self.server = tf.train.Server( cluster, job_name="worker", task_index=task_id, config=tf.ConfigProto(intra_op_parallelism_threads=1, inter_op_parallelism_threads=2) )

В htop я вижу имена команд python, grpc_executor и grpc_global_tim.

Эта проблема присуща тому, как GRPC или распределенный Tensorflow работает или можетчто-то не так с моим кодом?

Я использую Tensorflow версии 1.8.0.

...