Заставить объект Dask Delayed вычислять все параметры перед применением функции

Мне очень нравится использовать Dask.

Есть ли способ, которым я могу заставить объект Delayed потребовать, чтобы все его аргументы были вычислены перед применением отложенной функции?

простой пример (вариант использования более интересен с коллекцией):

def inc(x, y):
    return x + y

dinc = dask.delayed(inc, pure=True)

к чему-то вроде

def inc(x, y):
    if hasattr(x, compute):
        x = x.compute()
    if hasattr(y, compute):
        y = y.compute()
    return x + y

dinc = dask.delayed(inc, pure=True)

Таким образом, функция будет действовать в соответствии с шаблоном сокращения. Спасибо!


person Demian Wassermann    schedule 30.01.2017    source источник


Ответы (1)


Dask.delayed делает это автоматически. Любой объект delayed или набор данных (массив, кадр данных, сумка) будут вычисляться до того, как они войдут в отложенную функцию.

person MRocklin    schedule 30.01.2017
comment
Привет и спасибо! за ответ! Это действительно работает! Моим недостатком было не откладывать включение, а использовать только включение. - person Demian Wassermann; 30.01.2017