Ограничение количества создаваемых потоков Tensorflow

Использую Python-embedding в C++ код через Python C/C++ API и boost::python. На уровне C++ создаю 64 процесса, в каждом свой интерпретатор со своим GIL, для истинно параллельного исполнения. В каждом процессе работа идет с таким скриптом (привожу только начало) :

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras import models
from tensorflow.keras.initializers import RandomUniform
from tensorflow.keras.models import save_model
import json as js
from functools import cmp_to_key
import numpy as np
import random
import sys
import mmap

В диспетчере задач вижу свои 64 процесса, при этом в каждом сначала 50 потоков, потом 246. Мне нужно 128 процессов, но 64 * 246 - слишком много потоков для системы, кончаются дескрипторы или еще что-то. Подозреваю, что потоки в таком количестве создает tensorflow (работаю на CPU). можно ли и как в скрипте ограничить допустимое максимальное кол-во потоков для tensorflow?

Примечание: я не Python-программист, напишите, пожалуйста, подробнее, кто знает.


Ответы (0 шт):