2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 joblib и переменные обьекта
Сообщение16.04.2016, 16:59 


17/04/06
256
Вот мой код:

Код:
from joblib import Parallel, delayed

def main():
    a = Par_test()
    b = Par_test()
    temp_list = [a, b]

    Parallel(n_jobs=2)(delayed(update_field)(el) for el in temp_list)
    print(a.sample_field)
    print(b.sample_field)


def update_field(some_object):
    some_object.sample_field = 'some_value'


class Par_test:
    def __init__(self):
        self.sample_field = None


if __name__ == '__main__':
    main()


Я от него жду
Код:
some_value
и
Код:
some_value
, a получаю
Код:
None
и
Код:
None
В чем ошибка?

 Профиль  
                  
 
 Re: joblib и переменные обьекта
Сообщение16.04.2016, 18:57 


27/08/14
207
По умолчанию Parallel создаёт отдельные процессы, поэтому объекты, изменённые в дочерних процессах остаются неизменными в родительском. Вы можете использовать вместо процессов потоки:
Используется синтаксис Python
Parallel(n_jobs=2, backend="threading")(delayed(update_field)(el) for el in temp_list)
или использовать какой-либо метод межпроцессного взаимодействия.

 Профиль  
                  
 
 Re: joblib и переменные обьекта
Сообщение16.04.2016, 19:56 


17/04/06
256
Большое спасибо, Progger! Видать мне все таки надо будет разобраться между потоками и процессами. Я хотел на халяву проскачить.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group