[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