My computer from Mac Hell won't run PyMC3

I have a MacBook with Intel Iris Graphics 6100, so no ‘real’ GPU
Given that, is there ANY PROVEN and VERIFIED link to instructions that will create an environment where PyMC3 will work?
Please don’t underestimate the frustration I’ve had in this seemingly simple endeavour.
Should I ditch the Graphical Navigator for the command line? Is there some mystical combination of conda install and then pip install? Is it Python 3.4, 3.5 or 3.6? I have tried so many combinations of environments and processes that I now believe it should be illegal for any open source software to be this difficult to install. Any working solution will be used, saved, cloned and never ever changed. (assuming it doesn’t break with the next Apple update)
Thank you in advance

Sorry to hear that you are having so much difficulties! Conda env usually is quite stable - maybe it would help if you paste the error messages last time you tried installing via conda.

Here is one

import pymc3
Traceback (most recent call last):
File “”, line 1, in
File “/Users/peter/anaconda3/envs/rootcopy/lib/python3.6/site-packages/pymc3/init.py”, line 5, in
from .distributions import *
File “/Users/peter/anaconda3/envs/rootcopy/lib/python3.6/site-packages/pymc3/distributions/init.py”, line 1, in
from . import timeseries
File “/Users/peter/anaconda3/envs/rootcopy/lib/python3.6/site-packages/pymc3/distributions/timeseries.py”, line 1, in
import theano.tensor as tt
File “/Users/peter/anaconda3/envs/rootcopy/lib/python3.6/site-packages/theano/init.py”, line 88, in
from theano.configdefaults import config
File “/Users/peter/anaconda3/envs/rootcopy/lib/python3.6/site-packages/theano/configdefaults.py”, line 137, in
in_c_key=False)
File “/Users/peter/anaconda3/envs/rootcopy/lib/python3.6/site-packages/theano/configparser.py”, line 287, in AddConfigVar
configparam.get(root, type(root), delete_key=True)
File “/Users/peter/anaconda3/envs/rootcopy/lib/python3.6/site-packages/theano/configparser.py”, line 335, in get
self.set(cls, val_str)
File “/Users/peter/anaconda3/envs/rootcopy/lib/python3.6/site-packages/theano/configparser.py”, line 346, in set
self.val = self.filter(val)
File “/Users/peter/anaconda3/envs/rootcopy/lib/python3.6/site-packages/theano/configdefaults.py”, line 124, in filter
% (val, self.fullname)))
ValueError: Invalid value ("‘cpu’") for configuration variable “device”. Valid options start with one of “cpu”, “opencl” or “cuda”.

Maybe I’m reading this wrong (I’m a newbie), but I don’t see anything that would catch “cpu” in this code from the configdefaults.py file that generated the error…

class DeviceParam(ConfigParam):
def init(self, default, *options, **kwargs):
self.default = default

    def filter(val):
        if (val == self.default or
            val.startswith('opencl') or
                val.startswith('cuda')):
            return val
        elif val.startswith('gpu'):
            raise ValueError(
                'You are tring to use the old GPU back-end. '
                'It was removed from Theano. Use device=cuda* now. '
                'See https://github.com/Theano/Theano/wiki/Converting-to-the-new-gpu-back-end%28gpuarray%29 '
                'for more information.')
        else:
            raise ValueError(('Invalid value ("%s") for configuration '
                              'variable "%s". Valid options start with '
                              'one of "cpu", "opencl" or "cuda".'
                              % (val, self.fullname)))
    over = kwargs.get("allow_override", True)
    super(DeviceParam, self).__init__(default, filter, over)

def __str__(self):
    return '%s (%s, opencl*, cuda*) ' % (self.fullname, self.default)

How did you install theano? Could you maybe try installing theano and importing it alone?

So I created an environment, installed Theano (which installs a host of dependencies)
I terminal into python and get the same error
ValueError: Invalid value ("‘cpu’") for configuration variable “device”. Valid options start with one of “cpu”, “opencl” or “cuda”.

Is it the extra single ‘quotes’ on cpu? Maybe check your .theanorc file, which should be in your home directory? It should say something like

[global]
floatX = float64
device = cpu
1 Like

I have to be just a little bit reserved, because things have broken shortly after a similar situation, but… You are correct!
I replaced whatever was in the .theanorc file with your text and the example from http://docs.pymc.io/notebooks/getting_started#A-Motivating-Example:-Linear-Regression is working! Thank you for your suggestion. I’ll start going through the Pillon examples as well as some by Chris F and others. I really appreciate the help. I’ll keep you posted if things change.

1 Like