[PYTHON] [PyMC3] Résoudre l'erreur d'échec de la compilation

introduction

Cet article est une erreur d'échec de la compilation qui s'est produite lors de la réécriture de la syntaxe de PyMC2 utilisée dans l'inférence Bayes expérimentée avec Python dans PyMC3. sur, Je n'ai pas trouvé grand-chose qui correspondait à mon symptôme, je vais donc le partager ici.

Une réécriture du code d'inférence bayésien expérimenté en Python dans PyMC3 est disponible sur Github.

environnement

contenu de l'erreur

Chapitre 1 réécrit dans PyMC3 À? "

Il n'y a aucun problème d'exécution ici.

import pymc3 as pm
import theano.tensor as tt

with pm.Model() as model:
    alpha = 1.0/count_data.mean()  # Recall count_data is the
                                   # variable that holds our txt counts
    lambda_1 = pm.Exponential("lambda_1", alpha)
    lambda_2 = pm.Exponential("lambda_2", alpha)
    
    tau = pm.DiscreteUniform("tau", lower=0, upper=n_count_data - 1)

L'erreur suivante s'est produite dans cette partie suivante.

with model:
    idx = np.arange(n_count_data) # Index
    lambda_ = pm.math.switch(tau > idx, lambda_1, lambda_2)

contenu de l'erreur



Exception: ('Compilation failed (return status=1): C:\\Users\\user\\AppData\\Local\\Temp\\ccq4MDSW.s: Assembler messages:\r. C:\\Users\\user\\AppData\\Local\\Temp\\ccq4MDSW.s:270: Error: invalid register for .seh_savexmm\r. ', '[Elemwise{gt,no_inplace}(<TensorType(int64, (True,))>, TensorConstant{[ 0  1  2 ..71\n 72 73]})]')

Solution

Terminal


conda create -n env_name
conda install numpy
conda install scipy
conda install cython
pip install git+https://github.com/theano/theano
pip install git+https://github.com/pymc-devs/pymc3
conda install jupyter

J'ai installé theano et PyMC3 avec conda une fois, mais dans ce cas, j'ai eu exactement la même erreur et je n'ai pas pu la résoudre. Cependant, mélanger pip et conda n'est pas très bon en fonctionnement, j'ai donc pensé qu'il serait préférable de créer un environnement indépendant. Je vais.

--Run à nouveau

import pymc3 as pm
import theano.tensor as tt

with pm.Model() as model:
    alpha = 1.0/count_data.mean()  # Recall count_data is the
                                   # variable that holds our txt counts
    lambda_1 = pm.Exponential("lambda_1", alpha)
    lambda_2 = pm.Exponential("lambda_2", alpha)
    
    tau = pm.DiscreteUniform("tau", lower=0, upper=n_count_data - 1)

with model:
    idx = np.arange(n_count_data) # Index
    lambda_ = pm.math.switch(tau > idx, lambda_1, lambda_2)

Alors j'ai réussi. Après cela, j'ai également ajouté matplotlib et seaborn avec conda, mais il n'y a pas de problème pour l'instant.

Si quelqu'un a les mêmes symptômes, j'espère que cela aidera ...

Recommended Posts

[PyMC3] Résoudre l'erreur d'échec de la compilation
Résoudre l'erreur d'adresse déjà utilisée
Comment résoudre l'erreur survenue dans toimage (à partir de PIL.Image import fromarray as toimage)