[mlpack-svn] [MLPACK] #330: Make xml dependency optional

MLPACK Trac trac at coffeetalk-1.cc.gatech.edu
Wed Feb 19 08:31:57 EST 2014


#330: Make xml dependency optional
-------------------------+--------------------------------------------------
  Reporter:  hanslovsky  |        Owner:     
      Type:  wishlist    |       Status:  new
  Priority:  major       |    Milestone:     
 Component:  mlpack      |   Resolution:     
  Keywords:              |     Blocking:     
Blocked By:              |  
-------------------------+--------------------------------------------------

Comment (by rcurtin):

 I like this idea, but there's a lot to do before this can actually be done
 (feel free to contribute if you want to help this happen; at the moment,
 nobody is really working with the load/save functionality).  First, we
 can't just ditch libxml2, even through a compiler flag, because a couple
 of executables (namely HMMs and a few other things) use libxml2 (via
 mlpack::util::SaveRestoreUtility) to save and load models.  Thus without
 libxml2 there is simply no support for loading or saving anything at all,
 which basically makes the HMM tools useless.

 However (and this is a thought I've had for a while), it would be nice to
 be able to save mlpack models/objects in many different formats.
 SaveRestoreUtility provides a good start at an abstraction for this -- in
 the future, maybe it could support saving xml, yaml, hdf5, some packed
 binary format, rot13, etc.  Then, enabling/disabling different
 dependencies is now reasonable, because even if libxml2 support and
 libyaml support and libhdf5 support are all disabled, the packed binary
 format is still enabled, so *some* load/save functionality is present.

 So basically I think the minimum we need to do to close this ticket
 reasonably is to change SaveRestoreUtility to support both libxml2 (which
 it already does) and a packed binary format, and then we can modify CMake
 so that libxml2 can be enabled or disabled.  Ideally CMake can look for
 libxml2 support and enable/disable depending on the results of that search
 (and of course the user could override this with WITH_XML or something
 similar, like you suggested).

-- 
Ticket URL: <http://trac.research.cc.gatech.edu/fastlab/ticket/330#comment:1>
MLPACK <www.fast-lab.org>
MLPACK is an intuitive, fast, and scalable C++ machine learning library developed at Georgia Tech.


More information about the mlpack-svn mailing list