Ich führe eine GridSearchCV -Optimierung in eine parallelisierte Funktion aus. Der Pseudocode sieht so aus < /p>
Code: Select all
from tqdm.contrib.concurrent import process_map
from sklearn.model_selection import GridSearchCV
def main():
results = process_map(func, it, max_workers=5)
# We never reach here with n_jobs > 1 in GridSearch
def func(it):
...
grid_search = GridSearchCV(..., n_jobs=5)
...
return result
if __name__ == "__main__":
main()
Wenn n_jobs > 1 Das Skript hängt auf unbestimmte Zeit bei der Rückgabe von Ergebnissen und fährt niemals weiter fort (obwohl alle Funktionen Aufgaben erledigt sind). Wenn ich n_jobs = 1 festlegt, dann funktioniert alles einwandfrei. Es gibt irgendeine Möglichkeit, diese Parallelität zusammen mit der äußeren Parallelismusschicht aufrechtzuerhalten?