[GRASS-user] error while using i.segment.stats
Veronica Andreo
veroandreo at gmail.com
Thu Dec 5 04:04:57 PST 2019
Hi Moritz,
thanks for coming back to this topic :)
Here, the original region settings:
g.region -p
projection: 1 (UTM)
zone: -21
datum: wgs84
ellipsoid: wgs84
north: 7168182
south: 7157384
west: 737450
east: 750236
nsres: 0.5
ewres: 0.5
rows: 21596
cols: 25572
cells: 552252912
Because of the error we reduced it by ~half, but still got the same error...
[..]
rows: 20478
cols: 13553
cells: 277538334
In the end, we solved it by extracting the stats per tile (cutlines
irregular tiles) and then patching...
best,
Vero
El jue., 5 dic. 2019 a las 9:35, Moritz Lennert (<
mlennert at club.worldonline.be>) escribió:
> On 3/12/19 13:26, Veronica Andreo wrote:
> > Hi Moritz,
> >
> > Thanks for your answer :)
> >
> > In smaller subsets (per cutlines tiles), it works just fine.
>
> With grass78 using python 3 ? Then probably it's not a python version
> issue.
>
> What is the region size ? When it is calculating the raster statistics
> it uses r.univar with extended statistics (-e flag), if the region size
> is too big, actually you are right that this might lead to memory errors
> if it tries to run 4 instances in parallel.
>
> Unfortunately, r.univar does not have a memory option allowing to limit
> memory usage. Maybe i.segment.stats should check the region size and
> available memory and bail out if there's not enough memory. Not sure how
> to calculate the needed memory size, though (especially since r.univar's
> -t flag is also set).
>
> You could also try to reduce parallelization, i.e. run it with two
> processes only. It will obviously be slower.
>
> Moritz
>
>
> >
> > El mar., 3 dic. 2019 a las 12:41, Moritz Lennert
> > (<mlennert at club.worldonline.be <mailto:mlennert at club.worldonline.be>>)
> > escribió:
> >
> > Hi Vero,
> >
> > Le Mon, 2 Dec 2019 13:43:30 +0100,
> > Veronica Andreo <veroandreo at gmail.com <mailto:veroandreo at gmail.com>>
> > a écrit :
> >
> > > Hi,
> > >
> > > We are trying to use i.segment.stats for a map with 800000+
> segments
> > > and already in two different laptops, we get:
> > >
> > > bands=`g.list rast pat=IGUAZU_IMG_* sep=,`
> > >
> >
> RASTER_STATS=(min,max,range,mean,stddev,median,first_quart,third_quart,perc_90)
> > > AREA_STATS=(area,perimeter,compact_circle,compact_square,fd)
> > >
> > > i.segment.stats -rc \
> > > map=segments_full_region \
> > > rasters=$bands \
> > > raster_statistics=$RASTER_STATS \
> > > area_measures=$AREA_STATS \
> > > vectormap=segs_stats_map \
> > > processes=4
> > > Calculating geometry statistics...
> > > Calculating statistics for raster maps...
> > > Exception in thread Thread-3:
> > > Traceback (most recent call last):
> > > File "/usr/lib/python3.6/threading.py", line 916, in
> > > _bootstrap_inner self.run()
> > > File "/usr/lib/python3.6/threading.py", line 864, in run
> > > self._target(*self._args, **self._kwargs)
> > > File "/usr/lib/python3.6/multiprocessing/pool.py", line 463, in
> > > _handle_results
> > > task = get()
> > > File "/usr/lib/python3.6/multiprocessing/connection.py", line
> 251,
> > > in recv return _ForkingPickler.loads(buf.getbuffer())
> > > TypeError: __init__() missing 3 required positional arguments:
> > > 'module', 'code', and 'returncode'
> > >
> > > Does it have to do with memory? I used the module a month ago with
> > > 500000+ segments and it worked just fine...
> >
> > I don't think memory is the issue, but I find the error message
> > pretty cryptic, so wouldn't exclude altogether. Could it be some
> > difference between Python 2 and 3 in the multiprocessing module ?
> Would
> > it be possible for you try running it in Python 2 ?
> >
> > Maybe you could also try to run it on a smaller subset of the
> > segmentation result ?
> >
> > Moritz
> >
> >
> > --
> > Département Géosciences, Environnement et Société Université Libre de
> > Bruxelles Bureau: S.DB.6.138
> > CP 130/03
> > Av. F.D. Roosevelt 50
> > 1050 Bruxelles
> > Belgique
> >
> > tél. + 32 2 650.68.12 / 68.11 (secr.)
> > fax + 32 2 650.68.30
> >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20191205/6bf9e41a/attachment-0001.html>
More information about the grass-user
mailing list