Установка глобальных переменных для многопроцессы PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Установка глобальных переменных для многопроцессы Python

Сообщение Anonymous »

У меня есть большой массив и объект, который я хотел бы позвонить несколько раз с помощью многопроцессорной. Ни данные, ни внутренние объекты не будут изменены. < /P>
Это работает: < /p>

Код: Выделить всё

import numpy as np
from multiprocessing import Pool

data = np.arange(400).reshape(20, 20)

class MyClass():
def __call__(self, indx):
return np.sum(data[:, indx])

my_class = MyClass()

def call_single_indx(indx):
result = my_class(indx)
return result

def launch_jobs(nmap=10, num_jobs=3):
with Pool(processes=num_jobs) as pool:
result = pool.map(call_single_indx, range(nmap))
result = np.array(result)
return result

if __name__ == "__main__":

result = launch_jobs()
print(result)
< /code>
Но это не удается: < /p>
import numpy as np
from multiprocessing import Pool

data = None
my_class = None

def set_globals(n1, n2):
global data
data = np.arange(n1).reshape(n2, n2)
global my_class
my_class = MyClass()

class MyClass():
def __call__(self, indx):
return np.sum(data[:, indx])

def call_single_indx(indx):
result = my_class(indx)
return result

def launch_jobs(nmap=10, num_jobs=3):
with Pool(processes=num_jobs) as pool:
result = pool.map(call_single_indx, range(nmap))
result = np.array(result)
return result

if __name__ == "__main__":
set_globals(n1=400, n2=20)
launch_jobs()
Не удастся с TypeError: 'nonetype' объект не является Callable , так что set_globals не удалось на самом деле изменить значение глобальной переменной, и она все еще не является. Больше текста здесь, потому что пост в основном код, и он не позволит мне опубликовать без более подробной информации.

Подробнее здесь: https://stackoverflow.com/questions/797 ... processing
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Установка глобальных переменных для многопроцессы Python
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Установка глобальных переменных для многопроцессы Python
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Установка глобальных переменных во время выполнения для TestNG Suite?
    Anonymous » » в форуме JAVA
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Основной вопрос PHP о глобальных переменных
    Гость » » в форуме Php
    0 Ответы
    29 Просмотры
    Последнее сообщение Гость
  • Понимание глобальных переменных C#
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»