Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

ipyparallel and pymoo doesn't work

Aberta
#848 2 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
25/100
Tipo de issue
Bug
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
python

Direção de pesquisa

Comece com o reprodutor simplificado usando ipyparallel.Cluster, o DirectView conectado e a classe MyProblem herdada de ElementwiseProblem do pymoo. Execute-o com as dependências indicadas e inspecione a falha durante dview["MyProblem"] = MyProblem; o trabalho estará concluído quando a causa da recursão tiver sido identificada e a forma compatível de transferir essa classe tiver sido documentada ou corrigida.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bug

Hello all,
I am trying to use ipyparallel with a module for Genetic Algorithm (pymoo) and for that, I need to pass the class name 'MyProblem' to the clusters (don't know really why clusters are not aware but I have also the same problem with function defined in the main program). When I pass the name using 'dview["MyProblem"] = MyProblem' I am facing a recursing error.

This is the simplified code below which reproduce the error. Do you have any idea ?

import numpy as np
import ipyparallel as ipp
from pymoo.algorithms.moo.nsga2 import NSGA2
from pymoo.core.problem import ElementwiseProblem
from pymoo.optimize import minimize

# Very simplified problem
class MyProblem(ElementwiseProblem):

    def __init__(self):
        super().__init__(n_var = 1,
                         n_obj = 1,
                         n_constr = 0,
                         xl=np.array([0]),
                         xu=np.array([1]))

    def _evaluate(self, x, out, *args, **kwargs):
        
        # Fitness functions (values to minimize)
        f1 = -x[0]
        out["F"] = [f1] 
        
# Start the clusters
nb_core = 16
rc = ipp.Cluster(n=nb_core).start_and_connect_sync()
rc.wait_for_engines(n=nb_core)
dview = rc[:]

# Send class def to all cluster for further use
dview["MyProblem"] = MyProblem

Thanks in advance for your help.
Patrick.

Linguagem predominante
Jupyter Notebook
Estrelas
2.6k
Forks
1k
Métricas de merge de PRs
Nenhum PR com merge em 30d

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de ipython/ipyparallel

Todas as issues de ipython/ipyparallel

Issues semelhantes

Mais issues de Distributed Systems

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.