When running RawClassifer.predict with a feature collection (e.g. to retrieve neighbors in cross-validation analysis), if the user requests neighbors from all features in a collection and that collection is larger than ~2000 features, GEE will likely throw User memory lmit exceeded. errors. Note that this doesn't cause a problem if the user exports the features, but if they want synchronous retrieval of the features (e.g. through .getInfo), this error appears.
One can replicate this behavior in the GEE playground using random data with 3000 plots and 8 features and using ee.Classifier.minimumDistance to retrieve neighbors for this same feature collection. When profiling this code, the user consumes ~4.2 GB of memory in the call to .classify.
https://code.earthengine.google.com/95b40c7e7e386cd41d2585affdb3dd8f
The likely solution (at least on the server side through GEE) is to call .classify repeatedly with smaller sets of features and stitch together the feature collections at the end.
When running
RawClassifer.predictwith a feature collection (e.g. to retrieve neighbors in cross-validation analysis), if the user requests neighbors from all features in a collection and that collection is larger than ~2000 features, GEE will likely throwUser memory lmit exceeded.errors. Note that this doesn't cause a problem if the user exports the features, but if they want synchronous retrieval of the features (e.g. through.getInfo), this error appears.One can replicate this behavior in the GEE playground using random data with 3000 plots and 8 features and using
ee.Classifier.minimumDistanceto retrieve neighbors for this same feature collection. When profiling this code, the user consumes ~4.2 GB of memory in the call to.classify.https://code.earthengine.google.com/95b40c7e7e386cd41d2585affdb3dd8f
The likely solution (at least on the server side through GEE) is to call
.classifyrepeatedly with smaller sets of features and stitch together the feature collections at the end.