ipython / ipython/ipyparallel

ipyparallel and pymoo doesn't work

Aberta
#848 2 comentários 0 reações 0 responsáveis Ver no GitHub
bug
Linguagem predominante
Jupyter Notebook
Estrelas
2.6k
Forks
1k
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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 ?

```python
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.

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Start with the simplified reproducer using ipyparallel.Cluster, the connected DirectView, and the MyProblem class inherited from pymoo's ElementwiseProblem. Run it with the stated dependencies and inspect the failure during dview["MyProblem"] = MyProblem; done means identifying the recursion cause and documenting or correcting the supported way to transfer this class.

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

Avaliação

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

Receba novas issues na sua caixa de entrada

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