Bei diesem Artikel handelt es sich um einen Fehler beim Kompilieren, der beim Umschreiben der Syntax von PyMC2 aufgetreten ist, die in Bayes-Inferenz in Python in PyMC3 verwendet wurde. Über, Ich habe nicht viel gefunden, das meinem Symptom entsprach, also werde ich es hier teilen.
Eine Neufassung des in Python in PyMC3 erlebten Bayes'schen Inferenzcodes ist auf Github.
Kapitel 1 in PyMC3 umgeschrieben Beim? "
Hier gibt es kein Problem mit der Ausführung.
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)
Der folgende Fehler ist in diesem Teil als nächstes aufgetreten.
with model:
idx = np.arange(n_count_data) # Index
lambda_ = pm.math.switch(tau > idx, lambda_1, lambda_2)
Fehlerinhalt
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]})]')
--Erstellen Sie eine neue virtuelle Umgebung
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
Ich habe theano und PyMC3 einmal mit conda installiert, aber in diesem Fall habe ich genau den gleichen Fehler erhalten und konnte ihn nicht lösen. Das Mischen von Pip und Conda ist jedoch im Betrieb nicht sehr gut, daher dachte ich, es wäre besser, eine unabhängige Umgebung zu schaffen. Ich werde.
--Führe es nochmals aus
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)
Also habe ich bestanden. Danach habe ich auch Matplotlib und Seaborn mit Conda hinzugefügt, aber es gibt bisher kein Problem.
Wenn jemand die gleichen Symptome hat, hoffe ich, dass dies hilft ...