Hi all,
I have been using pymc3 for about a year. A few months ago I changed from an intel mac to an M1 mac. Suddenly, I can’t use pymc3 anymore. I keep getting the following error that I have no idea how to interpret:
You can find the C code in this temporary file: /var/folders/dx/7qsz_y4j3hzcbm5wnqnr8kdr0000gn/T/theano_compilation_error_1ef8ki88
Exception Traceback (most recent call last)
in
2
3 # Priors for unknown model parameters
----> 4 beta1 = pm.Normal(“beta1”, mu=4, sigma=1)
5 beta2 = pm.Normal(“beta2”, mu=9.8, sigma=1)
6 sigma = pm.HalfNormal(“sigma”, sigma=1)~/opt/anaconda3/envs/cmpinf2120/lib/python3.9/site-packages/pymc3/distributions/distribution.py in new(cls, name, *args, **kwargs)
119 dist = cls.dist(*args, **kwargs, shape=shape)
120 else:
→ 121 dist = cls.dist(*args, **kwargs)
122 return model.Var(name, dist, data, total_size, dims=dims)
123~/opt/anaconda3/envs/cmpinf2120/lib/python3.9/site-packages/pymc3/distributions/distribution.py in dist(cls, *args, **kwargs)
128 def dist(cls, *args, **kwargs):
129 dist = object.new(cls)
→ 130 dist.init(*args, **kwargs)
131 return dist
132~/opt/anaconda3/envs/cmpinf2120/lib/python3.9/site-packages/pymc3/distributions/continuous.py in init(self, mu, sigma, tau, sd, **kwargs)
486
487 self.mean = self.median = self.mode = self.mu = mu = tt.as_tensor_variable(floatX(mu))
→ 488 self.variance = 1.0 / self.tau
489
490 assert_negative_support(sigma, “sigma”, “Normal”)~/opt/anaconda3/envs/cmpinf2120/lib/python3.9/site-packages/theano/tensor/var.py in rtruediv(self, other)
174
175 def rtruediv(self, other):
→ 176 return theano.tensor.basic.true_div(other, self)
177
178 def rfloordiv(self, other):~/opt/anaconda3/envs/cmpinf2120/lib/python3.9/site-packages/theano/graph/op.py in call(self, *inputs, **kwargs)
251
252 if config.compute_test_value != “off”:
→ 253 compute_test_value(node)
254
255 if self.default_output is not None:~/opt/anaconda3/envs/cmpinf2120/lib/python3.9/site-packages/theano/graph/op.py in compute_test_value(node)
124
125 # Create a thunk that performs the computation
→ 126 thunk = node.op.make_thunk(node, storage_map, compute_map, no_recycling=)
127 thunk.inputs = [storage_map[v] for v in node.inputs]
128 thunk.outputs = [storage_map[v] for v in node.outputs]~/opt/anaconda3/envs/cmpinf2120/lib/python3.9/site-packages/theano/graph/op.py in make_thunk(self, node, storage_map, compute_map, no_recycling, impl)
632 )
633 try:
→ 634 return self.make_c_thunk(node, storage_map, compute_map, no_recycling)
635 except (NotImplementedError, MethodNotDefined):
636 # We requested the c code, so don’t catch the error.~/opt/anaconda3/envs/cmpinf2120/lib/python3.9/site-packages/theano/graph/op.py in make_c_thunk(self, node, storage_map, compute_map, no_recycling)
598 print(f"Disabling C code for {self} due to unsupported float16")
599 raise NotImplementedError(“float16”)
→ 600 outputs = cl.make_thunk(
601 input_storage=node_input_storage, output_storage=node_output_storage
602 )~/opt/anaconda3/envs/cmpinf2120/lib/python3.9/site-packages/theano/link/c/basic.py in make_thunk(self, input_storage, output_storage, storage_map)
1201 “”"
1202 init_tasks, tasks = self.get_init_tasks()
→ 1203 cthunk, module, in_storage, out_storage, error_storage = self.compile(
1204 input_storage, output_storage, storage_map
1205 )~/opt/anaconda3/envs/cmpinf2120/lib/python3.9/site-packages/theano/link/c/basic.py in compile(self, input_storage, output_storage, storage_map)
1136 input_storage = tuple(input_storage)
1137 output_storage = tuple(output_storage)
→ 1138 thunk, module = self.cthunk_factory(
1139 error_storage,
1140 input_storage,~/opt/anaconda3/envs/cmpinf2120/lib/python3.9/site-packages/theano/link/c/basic.py in cthunk_factory(self, error_storage, in_storage, out_storage, storage_map)
1632 for node in self.node_order:
1633 node.op.prepare_node(node, storage_map, None, “c”)
→ 1634 module = get_module_cache().module_from_key(key=key, lnk=self)
1635
1636 vars = self.inputs + self.outputs + self.orphans~/opt/anaconda3/envs/cmpinf2120/lib/python3.9/site-packages/theano/link/c/cmodule.py in module_from_key(self, key, lnk)
1189 try:
1190 location = dlimport_workdir(self.dirname)
→ 1191 module = lnk.compile_cmodule(location)
1192 name = module.file
1193 assert name.startswith(location)~/opt/anaconda3/envs/cmpinf2120/lib/python3.9/site-packages/theano/link/c/basic.py in compile_cmodule(self, location)
1541 try:
1542 _logger.debug(f"LOCATION {location}")
→ 1543 module = c_compiler.compile_str(
1544 module_name=mod.code_hash,
1545 src_code=src_code,~/opt/anaconda3/envs/cmpinf2120/lib/python3.9/site-packages/theano/link/c/cmodule.py in compile_str(module_name, src_code, location, include_dirs, lib_dirs, libs, preargs, py_module, hide_symbols)
2544 # difficult to read.
2545 compile_stderr = compile_stderr.replace(“\n”, ". “)
→ 2546 raise Exception(
2547 f"Compilation failed (return status={status}): {compile_stderr}”
2548 )Exception: ("Compilation failed (return status=1): ld: unsupported tapi file type ‘!tapi-tbd’ in YAML file ‘/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libSystem.tbd’ for architecture x86_64. clang-12: error: linker command failed with exit code 1 (use -v to see invocation). ", ‘FunctionGraph(Elemwise{true_div,no_inplace}(TensorConstant{1.0}, TensorConstant{1.0}))’)
I created an anaconda environment with pymc3 using the exact directions instructed for M1 macs. I have the latest version of xcode installed. I am on the latest version of MacOS monterrey.
Please let me know if you need any more information about my anaconda version, my python version, my gcc/clang version, etc.
If anyone can help me, I cannot begin to tell you how much this would be appreciated. I am really really worried.
I apologize if this is a really stupid question as well or if I haven’t provided enough help. I am just really anxious about this, please help me!
Arjun