Comments (4)
@soheilb could you paste the error message here? and which lines you were making changes?
from theano_alexnet.
My changes are in the lines 37 and 45 of the alex_net.py file where I changed 227 to 224 (to make it exactly equal to the alexnet paper). Then I used the config file to select between cudnn and cuda-convnet (lib_conv flag). The error seems to be relevant to the size of the input for the first fully connected layer. Apparently using cudnn, the input size of the first fully connected layer changes to 6400 (256 times 25) while it is supposed to have dimension 9216 (256 times 36). Here is the error:
ValueError: dimension mismatch in args to gemm (256,6400)x(9216,4096)->(256,4096)
Apply node that caused the error: GpuDot22(GpuFlatten{2}.0, <CudaNdarrayType(float32, matrix)>)
Toposort index: 314
Inputs types: [CudaNdarrayType(float32, matrix), CudaNdarrayType(float32, matrix)]
Inputs shapes: [(256, 6400), (9216, 4096)]
Inputs strides: [(6400, 1), (4096, 1)]
Inputs values: ['not shown', 'not shown']
Outputs clients: [[GpuElemwise{Add}[(0, 0)](GpuDot22.0, GpuDimShuffle{x,0}.0)]]
from theano_alexnet.
@soheilb I would suggest looking at the padding size settings around
https://github.com/uoguelph-mlrg/theano_alexnet/blob/master/lib/layers.py#L172
There might be some subtle difference between the cudnn library and cudaconvnet, on how to use those settings.
Sorry that I personally don't have easy access on machines that can run these things, so couldn't try it myself.
from theano_alexnet.
Yes, it seems the difference is in how they handle the padding. Thanks for looking into this.
from theano_alexnet.
Related Issues (20)
- can't reproduce results with pre-trained models HOT 5
- meta data files HOT 1
- Momentum loading HOT 4
- Testing network on CPU HOT 4
- Validate Performance HOT 1
- Step_idx bug when resuming training
- Training Cost NAN HOT 11
- Forward and Backward Propagation HOT 1
- Error with theano v0.9.0 HOT 3
- Merge split layer weights HOT 3
- Execute alexnet using ligbpuarray backend HOT 8
- pycuda mem_get_ipc_handle() error on Windows 10 HOT 6
- error on Windows 10 HOT 22
- For new dataset HOT 1
- An update must have the same type as the original shared variable HOT 1
- Preprocessing with respect to aspect ratio
- latest update to conda and I started getting this issue: TypeError: slice indices must be integers or None or have an __index__ method HOT 2
- version of dependencies HOT 1
- ValueError: GpuElemwise. Input dimension mis-match
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from theano_alexnet.