Deep Learning - Data no longer exists on the device
Show older comments
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)
Joss Knight
on 15 Apr 2018
2 votes
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
user06
on 21 Sep 2018
how to fix this???
Joss Knight
on 21 Sep 2018
Reduce your MiniBatchSize in the trainingOptions.
user06
on 21 Sep 2018
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"
Joss Knight
on 21 Sep 2018
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.
Zhipeng Fan
on 25 Mar 2019
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 ?
Walter Roberson
on 25 Mar 2019
Sounds to me as if you are out of GPU memory.
Walter Roberson
on 6 Nov 2019
cui comments to Joss Knight:
thank you! my network is running out of GPU memory!
Alvaro Lopez Anaya
on 7 Nov 2019
1 vote
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.
Categories
Find more on Parallel and Cloud in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!