geowatch.tasks.landcover.predict module¶
Prediction script for landcover features.
Given a checkout of the model and drop6 data, the following demos computing and visualizing a subset of the features.
CommandLine
DVC_EXPT_DPATH=$(geowatch_dvc --tags=phase2_expt --hardware=auto)
DVC_DATA_DPATH=$(geowatch_dvc --tags=phase2_data --hardware=auto)
KWCOCO_BUNDLE_DPATH=$DVC_DATA_DPATH/Drop6
DZYNE_LANDCOVER_MODEL_FPATH="$DVC_EXPT_DPATH/models/landcover/sentinel2.pt"
INPUT_DATASET_FPATH=$KWCOCO_BUNDLE_DPATH/imganns-KR_R001.kwcoco.zip
OUTPUT_DATASET_FPATH=$KWCOCO_BUNDLE_DPATH/imganns-KR_R001_landcover_small.kwcoco.zip
echo "
DVC_DATA_DPATH="$DVC_DATA_DPATH"
DVC_EXPT_DPATH="$DVC_EXPT_DPATH"
DZYNE_LANDCOVER_MODEL_FPATH="$DZYNE_LANDCOVER_MODEL_FPATH"
INPUT_DATASET_FPATH="$INPUT_DATASET_FPATH"
OUTPUT_DATASET_FPATH="$OUTPUT_DATASET_FPATH"
"
export CUDA_VISIBLE_DEVICES="1"
python -m geowatch.tasks.landcover.predict \
--dataset="$INPUT_DATASET_FPATH" \
--deployed="$DZYNE_LANDCOVER_MODEL_FPATH" \
--device=0 \
--num_workers=4 \
--select_images='(.frame_index < 100) and (.sensor_coarse == "S2")' \
--with_hidden=6 \
--output="$OUTPUT_DATASET_FPATH"
geowatch stats $OUTPUT_DATASET_FPATH
geowatch visualize $OUTPUT_DATASET_FPATH \
--animate=True --channels="red|green|blue,barren|forest|water,landcover_hidden.0:3,landcover_hidden.3:6" \
--skip_missing=True --workers=4 --draw_anns=False --smart=True
- class geowatch.tasks.landcover.predict.LandcoverPredictConfig(*args, **kwargs)[source]¶
Bases:
DataConfig
Valid options: []
- Parameters:
*args – positional arguments for this data config
**kwargs – keyword arguments for this data config
- default = {'assets_dname': <Value('_assets')>, 'dataset': <Value(None)>, 'deployed': <Value(None)>, 'device': <Value('auto')>, 'io_workers': <Value('auto')>, 'num_workers': <Value(0)>, 'output': <Value(None)>, 'select_images': <Value(None)>, 'select_videos': <Value(None)>, 'track_emissions': <Value(True)>, 'window_dim': <Value(1024)>, 'with_hidden': <Value(None)>}¶
- geowatch.tasks.landcover.predict.predict(cmdline=1, **kwargs)[source]¶
Example
>>> # xdoctest: +REQUIRES(env:DVC_DPATH) >>> from geowatch.tasks.landcover.predict import * # NOQA >>> from geowatch.tasks.landcover.predict import _predict_single >>> import kwcoco >>> import geowatch >>> dvc_data_dpath = geowatch.find_dvc_dpath(tags='phase2_data', hardware='auto') >>> dvc_expt_dpath = geowatch.find_dvc_dpath(tags='phase2_expt', hardware='auto') >>> dset = kwcoco.CocoDataset(dvc_data_dpath / 'Drop6/imganns-KR_R001.kwcoco.zip') >>> deployed = dvc_expt_dpath / 'models/landcover/sentinel2.pt' >>> kwargs = { >>> 'dataset': dset.fpath, >>> 'deployed': deployed, >>> 'output': ub.Path(dset.fpath).augment(stemsuffix='_landcover', multidot=True), >>> 'select_images': '.sensor_coarse == "S2"', >>> } >>> cmdline = 0 >>> predict(cmdline, **kwargs)