andersbll/nnet

Error when running the example cnn_mnist.py and mlp_mnist.py

Zehui127 opened this issue · 3 comments

Thanks for your great work
I found some problem when running the example, I can't find the reason
when running the above two example, the following error pop up:

Traceback (most recent call last):
File "cnn_mnist.py", line 72, in
run()
File "cnn_mnist.py", line 62, in run
nn.fit(X_train, y_train, learning_rate=0.05, max_iter=3, batch_size=32)
File "F:\summerVacation\lib\site-packages\nnet\neuralnetwork.py", line 29, in fit
Y_one_hot = one_hot(Y)
File "F:\summerVacation\lib\site-packages\nnet\helpers.py", line 9, in one_hot
one_hot_labels[labels == c, c] = 1
IndexError: only integers, slices (:), ellipsis (...), numpy.newaxis (None) and integer or boolean arrays are valid indices

I'm not sure why this happen.

Hi,

I also have same problem. no one find the solution ?

@Zehui127 @iamyup In cnn_mnist.py and mlp_mnist.py, The type of y_train and y_test need to be converted to int, since the index of array cannot be float. i.e., modify the code
y_train = mnist.target[:split]
y_test = mnist.target[split:]
to
y_train = mnist.target[:split].astype("int")
y_test = mnist.target[split:].astype("int")

@snowkylin I tried the solution you provided, but Im still getting the same error.

Traceback (most recent call last):
File "cnn_mnist.py", line 72, in
run()
File "cnn_mnist.py", line 62, in run
nn.fit(X_train, y_train, learning_rate=0.05, max_iter=3, batch_size=32)
File "/home/abhinav/Testing/nnet-master/nnet/neuralnetwork.py", line 29, in fit
Y_one_hot = one_hot(Y)
File "/home/abhinav/Testing/nnet-master/nnet/helpers.py", line 9, in one_hot
one_hot_labels[labels == c, c] = 1
IndexError: only integers, slices (:), ellipsis (...), numpy.newaxis (None) and integer or boolean arrays are valid indices