Как устранить зависание PyMC3 при попытке запуска на нескольких ядрах? - PullRequest
1 голос
/ 12 июля 2020

Я не могу использовать многоядерную обработку на моем Ma c с Pymc3. Я читал форумы на форумах разработчиков для PyMC3, но похоже, что проблема, с которой я сталкиваюсь, в основном связана с Windows.

По сути, приведенный ниже код просто зависает. Если я работаю на одном ядре, он работает нормально.

Он действительно работает на многоядерном процессоре, если я заключу приведенный ниже фрагмент в функцию, которая вызывает эту функцию после оператора if __name__ == '__main__'

Ниже код, который я использую в своей ячейке Jupyter

    print('Running:',specialty_filter)
    with pm.Model() as logistic_model:
        pm.glm.GLM.from_formula(
            "is_noshow ~ binnednoshows + priorthvisitcount + priorthvisitcount  + priornoshowvisits  + priornoshowvisits:priorthvisitcount + priorthvisitcount:priornoshowvisits:priorthvisitcount + age + C(same_day_yn) + C(is_telehealth_visit) + C(diane_elizabeth) + C(prc_name_binned)",  #  + priornoshowvisits + priorthvisitcount age
            df_hist,
            family=pm.glm.families.Binomial(),
        )
        trace = pm.sample(
            10000,
            tune=6400,
            random_seed=951,
            max_treedepth=16,
            target_accept=0.98,
            # chains=4,
            # cores=4,
            init="adapt_diag",
        )
...