Значение переменной Anano, вызывающее ошибку в функции anano

Я noob с theano, так что, пожалуйста, будьте терпеливы. У меня есть этот код из учебника нейронных сетей (в SGD funtion для CNN):

index = T.lscalar() # mini-batch index train_mb = theano.function( inputs=[index], outputs=cost, updates=updates, givens={ self.x: training_x[index * self.mini_batch_size: (index + 1) * self.mini_batch_size], self.y: training_y[index * self.mini_batch_size: (index + 1) * self.mini_batch_size] }) 

но я получаю эту ошибку:

 TypeError: slice indices must be integers or None or have an __index__ method 

Я пробовал использовать eval() , но он не работает. Является ли код неправильным или что-то изменилось с помощью python 3.6.1 или anano 0.9? Может кто-нибудь это исправить? Мне действительно нужно это скоро.

РЕДАКТИРОВАТЬ:
1. Пробовал запустить код в python2.7. Показывает ту же ошибку.
2. Пробовали с помощью anano 0.7. Показывает ту же ошибку
3. Придумал … Пришлось использовать формат данных anano для учебных данных.
Но теперь у меня появилась новая ошибка:

TypeError: Невозможно преобразовать Type TensorType (float64, 3D) (переменный субтензор {int64: int64:}. 0) в Type TensorType (float64, matrix). Вы можете попытаться вручную преобразовать Subtensor {int64: int64:}. 0 в TensorType (float64, matrix).

Python - лучший язык программирования в мире.