NervanaSystems / ModelZoo

neon model zoo
Apache License 2.0
176 stars 69 forks source link

Error while trying to get outputs of googlenet #5

Open iaroslav-ai opened 8 years ago

iaroslav-ai commented 8 years ago

I try to get output of googlenet with some randomly generated inputs using a modified version of googlenet_neon.py. I get warning and error messages below. Did I made some mistake or is there a bug? The code that I use is below error messages.

Messages:

2016-04-11 20:42:40,144 - neon.models.model - WARNING - Problems restoring existing RNG state: algorithm must be 'MT19937'
Traceback (most recent call last):
  File "/home/iaroslav/neon-examples/googlenet/demo.py", line 103, in <module>
    model.initialize(test, cost)
  File "/usr/local/lib/python2.7/dist-packages/neon/models/model.py", line 100, in initialize
    prev_input = self.layers.configure(prev_input)
  File "/usr/local/lib/python2.7/dist-packages/neon/layers/container.py", line 257, in configure
    self.layers[0].configure(in_obj)
  File "/usr/local/lib/python2.7/dist-packages/neon/layers/container.py", line 127, in configure
    in_obj = l.configure(in_obj)
  File "/usr/local/lib/python2.7/dist-packages/neon/layers/layer.py", line 615, in configure
    assert isinstance(self.in_shape, tuple)
AssertionError

The code:

https://gist.github.com/iaroslav-ai/949ee0200152236937c4d0b29f70f70e

Assume that googlenet model is located at /home/iaroslav/temp/googlenet.p.

nervetumer commented 8 years ago

The ArrayIterator needs to have the data as a 2D matrix with the dim (N, CHW). So the CHW part needs to be squashed and it needs the shape parameter set to (C, H, W). Try changing line

test = ArrayIterator(np.random.rand(256,224,224,3))

to

test = ArrayIterator(np.random.rand(256, 3_224_224), lshape=(3, 224, 224))

iaroslav-ai commented 8 years ago

Ah I see I used now test = ArrayIterator(np.random.rand(256, 3*224*224), lshape=(3, 224, 224)) I also added in the end print model.get_outputs(test) It seems that now neon does something for some time, but then in the get outputs function it gives the error

Traceback (most recent call last):
  File "/home/iaroslav/neon-examples/googlenet/demo.py", line 104, in <module>
    print model.get_outputs(test)
  File "/usr/local/lib/python2.7/dist-packages/neon/models/model.py", line 257, in get_outputs
    (dim0, dim1) = x.shape
AttributeError: 'list' object has no attribute 'shape'

Did I do something wrong again? :) I have my updated code in here

Thanks for your response! :D

nervetumer commented 8 years ago

Could you pull the most recent model zoo repo and try again, I think the model needed to be updated to use the SingleOutputTree

iaroslav-ai commented 8 years ago

Thanks for your response! I will try to pull the most recent model zoo.

iaroslav-ai commented 8 years ago

I guess this can be closed due to #3 ?

nervetumer commented 8 years ago

Not sure if this relates to #3. Would be good to make sure that this is working for you.