Skip to content

Update Shark Random Forest implementation

Manuel Grizonnet requested to merge update-shark-rf into develop

[Merge request copy from previous RFC-127 by @jinglada on OTB wiki: https://wiki.orfeo-toolbox.org/index.php/Request_for_changes-127:_Update_Shark_Random_Forest_implementation]

Summary

There has been some recent work on the Random Forest implementation in Shark which would be nice to have in OTB. It is a complete reimplementation to improve memory footprint and speed.

Rationale

There has been some recent work on the Random Forest implementation in Shark which would be nice to have in OTB. It is a complete reimplementation to improve memory footprint and speed.

There is a minor API change which needs a small change in otbSharkRandomForestsMachineLearningModel.h.

As Shark is not still widely use in OTB and most users use the package version in OTB Superbuild (which include a specific version of Shark), I would like to suggest to don't take time to maintain backward compatibility of OTB code with previous versions of Shark. Shark library evolves quite quickly and there is no reason to maintain backward compat which will add boilerplate code in MachineLearningModel. OTB users which want to use Shark have the expertise IMO to update their client code (these are really small changes). Moreover for end user of OTB machine learning applications those changes have no impact.

Implementation Details

Classes and files

Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModel.h Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModel.txx SuperBuild/CMake/External_shark.cmake SuperBuild/patches/SHARK/shark-2-ext-num-literals-all.diff SuperBuild/patches/SHARK/shark-2-find-boost-all.diff

Applications

No impact on otb apps

Tests

Some baseline should probably be updated

Documentation

List or link documentation modifications that were made (doxygen, example, software guide, application documentation, cookbook).

Additional notes

The superbuild version of Shark have been updated to a specific tag version (3394e5f553e020ef5b093f388bdba29247600dbd) has there is not yet Shark official release. Don't think that it is an issue a****s

Edited by Manuel Grizonnet

Merge request reports