Hi all,
I am attempting to follow the logistic regression example in the
documentation. Here is a subset of the code that people with correct theano
versions should be able to run:
import numpy
import theano
import theano.tensor as T
rng = numpy.random
N = 400
feats = 784
# generate a dataset: D = (input_values, target_class)
D = (rng.randn(N, feats), rng.randint(size=N, low=0, high=2))
training_steps = 10000
# Declare Theano symbolic variables
x = T.dmatrix("x")
y = T.dvector("y")
# initialize the weight vector w randomly this and the following bias
variable b
# are shared so they keep their values between training iterations (updates)
w = theano.shared(rng.randn(feats), name="w")
b = theano.shared(0., name="b")
# Construct Theano expression graph
p_1 = 1 / (1 + T.exp(-T.dot(x, w) - b))
prediction = p_1 > 0.5
xent = -y * T.log(p_1) - (1-y) * T.log(1-p_1) # Cross-entropy loss
function
cost = xent.mean() + 0.01 * (w ** 2).sum() # The cost to minimize
(w/regularization!)
gw, gb = T.grad(cost, [w, b]) # Compute gradient of cost
wrt w and b.
predict = theano.function(
inputs=[x],
outputs=[prediction]
)
When running the above, I get the following error:
ERROR (theano.gof.opt): Optimization failure due to:
LocalOptGroup(use_c_ger,use_c_gemv)
ERROR (theano.gof.opt): node:
Gemv{no_inplace}(AllocEmpty{dtype='float64'}.0, TensorConstant{1.0}, x, w,
TensorConstant{0.0})
ERROR (theano.gof.opt): TRACEBACK:
ERROR (theano.gof.opt): Traceback (most recent call last):
File
"/Users/danielseita/anaconda2/lib/python2.7/site-packages/theano/gof/opt.py",
line 1922, in process_node
replacements = lopt.transform(node)
File
"/Users/danielseita/anaconda2/lib/python2.7/site-packages/theano/gof/opt.py",
line 1309, in transform
new_repl = opt.transform(node)
File
"/Users/danielseita/anaconda2/lib/python2.7/site-packages/theano/tensor/blas_c.py",
line 674, in use_c_gemv
if not config.blas.ldflags:
File
"/Users/danielseita/anaconda2/lib/python2.7/site-packages/theano/configparser.py",
line 328, in __get__
val_str = self.default()
File
"/Users/danielseita/anaconda2/lib/python2.7/site-packages/theano/configdefaults.py",
line 1258, in default_blas_ldflags
lib_path = blas_info.get('library_dirs', [])[0]
IndexError: list index out of range
Note that if I don't include the predict function in the code above, it
will work (i.e. the problem is with the function). The error message seems
to be related to blas (?) but I'm not sure how to fix it. I noticed
something similar
here: https://groups.google.com/forum/#!topic/theano-users/Lv-tmIOYqR4
But that is with Python 3.4. I am using Python 2.7. In addition, what I
don't understand is that I can actually run functions from the Theano
documentation! Here's an example. I'm following the tutorial on "copying
functions" but this was chosen purely as an example. I run the following
lines:
Python 2.7.12 |Anaconda 4.2.0 (x86_64)| (default, Jul 2 2016, 17:43:17)
Type "copyright", "credits" or "license" for more information.
IPython 5.1.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [*1*]: *import* *theano*
In [*2*]: *import* *theano.tensor* *as* *T*
In [*3*]: state = theano.shared(0)
In [*4*]: inc = T.iscalar('inc')
In [*5*]: accumulator = theano.function([inc], state, updates=[(state,
state+inc)])
In [*6*]: accumulator(10)
Out[*6*]: array(0)
In [*7*]: *print*(state.get_value())
10
Everything looks good! So I don't know why I can run some functions here
but not others. Any advice would be appreciated.
Additional details:
This is run on a Mac laptop, version 10.11.16 El Capitan
My .theanorc file in the home directory:
[global]
floatX = float32
ddevice = cpu
I am NOT using a GPU, though my laptop has one (I just choose not to use it
out of simplicity for now). Here is my theano version:
In [*1*]: *import* *theano*
In [*2*]: theano.__version__
Out[*2*]: '0.9.0dev4.dev-RELEASE'
Let me know if there's any other information that would be helpful.
--
---
You received this message because you are subscribed to the Google Groups
"theano-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.