Kral
Kral

Reputation: 199

"OSError: Failed to interpret file as a pickle" after saving

My code began giving this error after I opened and saved NEweights.npy:

OSError: Failed to interpret file 'D:\\NeuralNetwork\\NEweights.npy' as a pickle       

It was working initially before I saved it. Why am I receiving this error only now, and is there any way I can still access the data in NEweights.npy? (Just for context, NEweights.npy is an array of neural network weights trained via Nesterov Accelerated Gradient. I was testing different NN optimizers.)

I have this code to save the numpy arrays in a npy file:

np.save(f'{path}GDweights.npy', np.array(weights, dtype=object))

I have this to access the numpy arrays:

def getWeights(path):
    return np.load(path, allow_pickle=True)

path = 'D:\\NeuralNetwork\\'

inputs, outputs = grab(f'{path}test.csv')
weightsGD = getWeights(f'{path}GDweights.npy')
weightsM = getWeights(f'{path}Mweights.npy')
weightsNE = getWeights(f'{path}NEweights.npy')
weightsNA = getWeights(f'{path}NAweights.npy')
weightsD = getWeights(f'{path}Dweights.npy')

Upvotes: 1

Views: 2387

Answers (1)

Hanieh11
Hanieh11

Reputation: 11

This error is raised as an IOError and according to this If the input file does not exist or cannot be read, this error is raised.

Upvotes: 1

Related Questions