Deep Learning - Data no longer exists on the device

I got the following error when trying to implement a deep learning NN in MATLAB.
Error using trainNetwork (line 154) The data no longer exists on the device.
Caused by:
Error using nnet.internal.cnngpu.batchNormalizationForwardTrain
The data no longer exists on the device.
Any suggestions?

Answers (2)

This would happen if you are resetting the device or switching device using reset or gpuDevice. Perhaps you have a custom layer which is innocuously calling gpuDevice(1); this is resetting the device and invalidating all GPU data.

7 Comments

how to fix this???
Reduce your MiniBatchSize in the trainingOptions.
the same program is running fine on CPU but when I am running it on GPU it is giving error "The data no longer exists on the device"
Usually it's because you're running out of GPU memory, so reduce the MiniBatchSize and see if the problem goes away. If not you're going to have to post your code so we can see what is going on.
trainning the segnet ,,
Error using trainNetwork (line 154) , cannot transfer gpuArray to single;
I don't know how to solve it,can you help me ?
Sounds to me as if you are out of GPU memory.
cui comments to Joss Knight:
thank you! my network is running out of GPU memory!

Sign in to comment.

In my case, I had similar problems, despite of the fact that I have a gtx1080Ti.
As Joss said, reducing the MiniBatchSize solved my problem. It's all about the training options.

Asked:

on 11 Apr 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!