title: Theano CNN on CPU: AbstractConv2d Theano optimization failed
body: <p>I'm trying to train a CNN for object detection on images with the CIFAR10 dataset for a seminar at my university but I get the following Error:</p>
  
  <blockquote>
    <p>AssertionError: AbstractConv2d Theano optimization failed: there is no
    implementation available supporting the requested options. Did you
    exclude both "conv_dnn" and "conv_gemm" from the optimizer? If on GPU,
    is cuDNN available and does the GPU support it? If on CPU, do you have
    a BLAS library installed Theano can link against?</p>
  </blockquote>
  
  <p>I am running Anaconda 2.7 within a Jupyter notebook (CNN training on CPU) from a Windows 10 machine. As I already have updated to the newest theano version using git clone I tried the following things:</p>
  
  <ul>
  <li>exclude dnn and gemm directly from within the code <code>THEANO_FLAGS='optimizer_excluding=conv_dnn, optimizer_excluding=conv_gemm'</code></li>
  <li>exclude dnn and gemm directly from cmd typing <code>THEANO_FLAGS='...' python &lt;myscript&gt;.py</code> which not suprisingly gives an "unknown command" error.</li>
  <li>exclude dnn and gemm from a .theanorc.txt which I put into C:/user/myusername</li>
  </ul>
  
  <p>Unfortunately, I still get the same error and when I call <code>print(teano.config)</code> the terms "conv_dnn" and "conv_gemm" do not appear.</p>
  
  <ul>
  <li>Furthermore I tried to find out what BLAS my numpy package is using (which generally works well for) and if that package is static using a tool from dependencywalker.com but I failed miserably</li>
  </ul>
  
  <p>So here's my question: How on earth can I set the theano flags properly and how can I check if I suceeded in doing so? If that doesn't help, how can I check what BLAS I am building? Which one should I use and how can I change the dependency for theano?</p>
  
  <p>As you might have guessed I am not an expert when it comes to all this package, dependency, built and other fancy computer science stuff and the documentation I find only is just not noob proof so I would be most grateful I you guys could help me out!</p>
  
  <p>Best</p>
  
  <p>Jonas</p>