Erro - Theano + Keras

votos
0

Eu estou tentando executar um script Keras em uma instância AWS. Enquanto o script funciona muito bem no meu próprio computador (Python 2.7 - sem CPU) que faz com que alguns erro em uma GPU habilitado instância AWS. Eu instalei a última versão do Theano - e outros scripts (por exemplo, o Tutoral mnist) não dão erros.

O script que está causando o problema é um script Tutoral padrão Keras ( https://github.com/fchollet/keras/blob/master/examples/cifar10_cnn.py ). Eu já se mudaram, com base nas orientações Stack Overflow, o modo de fronteira para válido - o que parece para remover uma questão. no entanto - eu imediatamente encontrar o seguinte problema (pilha de erros abaixo). Tenho executar a seguinte linha no bash THEANO_FLAGS = otimizador = fast_compile, device = gpu, floatX = float32 cifar10.py, mas este não dar mais informações. Talvez eu deveria mudar para nolearn / pacote de lasanha - mas por favor deixe-me saber se existem maneiras fáceis para resolver este.

Using Theano backend.
Using gpu device 0: GRID K520 (CNMeM is disabled)
X_train shape: (50000, 3, 32, 32)
50000 train samples
10000 test samples
Using real time data augmentation
----------------------------------------
Epoch 0
----------------------------------------
Training...
Testing...
Traceback (most recent call last):
  File keras_python_4.py, line 152, in <module>
    score = model.test_on_batch(X_batch, Y_batch)
  File /usr/local/lib/python2.7/dist-packages/keras/models.py, line 445, in test_on_batch
    return self._test(ins)
  File /usr/local/lib/python2.7/dist-packages/keras/backend/theano_backend.py, line 357, in __call__
    return self.function(*inputs)
  File /usr/local/lib/python2.7/dist-packages/theano/compile/function_module.py, line 871, in __call__
    storage_map=getattr(self.fn, 'storage_map', None))
  File /usr/local/lib/python2.7/dist-packages/theano/gof/link.py, line 314, in raise_with_op
    reraise(exc_type, exc_value, exc_trace)
  File /usr/local/lib/python2.7/dist-packages/theano/compile/function_module.py, line 859, in __call__
    outputs = self.fn()
ValueError: GpuElemwise. Input dimension mis-match. Input 1 (indices start at 0) has shape[0] == 32, but the output's size on that axis is 16.
Apply node that caused the error: GpuElemwise{Composite{(i0 * log(clip((i1 / i2), i3, i4)))}}[(0, 0)](GpuFromHost.0, GpuSoftmaxWithBias.0, GpuDimShuffle{0,x}.0, CudaNdarrayConstant{`  1`.`00000001e-07`}, CudaNdarrayConstant{` 0`.`99999988`})
Toposort index: 95
Inputs types: [CudaNdarrayType(float32, matrix), CudaNdarrayType(float32, matrix), CudaNdarrayType(float32, col), CudaNdarrayType(float32, (True, True)), CudaNdarrayType(float32, (True, True))]
Inputs shapes: [(16, 10), (32, 10), (32, 1), (1, 1), (1, 1)]
Inputs strides: [(10, 1), (10, 1), (1, 0), (0, 0), (0, 0)]
Inputs values: ['not shown', 'not shown', 'not shown', <CudaNdarray object at 0x7f2165bb7730>, <CudaNdarray object at 0x7f2165bb7970>]
Outputs clients: [[GpuCAReduce{add}{0,1}(GpuElemwise{Composite{(i0 * log(clip((i1 / i2), i3, i4)))}}[(0, 0)].0)]]

HINT: Re-running with most Theano optimization disabled could give you a back-trace of when this node was created. This can be done with by setting the Theano flag 'optimizer=fast_compile'. If that does not work, Theano optimizations can be disabled with 'optimizer=None'.
HINT: Use the Theano flag 'exception_verbosity=high' for a debugprint and storage map footprint of this apply node.
Publicado 06/12/2015 em 13:36
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Quando você muda sua border_mode de "mesmo" para "válido", a dimensão do seu mapa recurso irá gradualmente diminuir. Em algum momento, a dimensão de uma camada torna-se tão pequeno (parece que se tornou 1x1 já no seu caso) que você não pode adicionar camadas extras de mais.

Se você estiver especificando certos passos de uma camada, o tamanho do filtro e do tamanho da entrada também precisa ser compatível com o seu comprimento do passo.

Respondeu 06/04/2016 em 16:36
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more