libLBFGS 1.4 release candidate.

git-svn-id: file:///home/svnrepos/software/liblbfgs/trunk@6 ecf4c44f-38d1-4fa4-9757-a0b4dd0349fc
This commit is contained in:
naoaki 2008-04-25 09:07:12 +00:00
parent 09554fbf50
commit 423f64c6cc
4 changed files with 49 additions and 25 deletions

View File

@ -1,7 +1,7 @@
The MIT License The MIT License
Copyright (c) 1990 Jorge Nocedal Copyright (c) 1990 Jorge Nocedal
Copyright (c) 2007 Naoaki Okazaki Copyright (c) 2007,2008 Naoaki Okazaki
Permission is hereby granted, free of charge, to any person obtaining a Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"), copy of this software and associated documentation files (the "Software"),

View File

@ -1,29 +1,53 @@
2008-03-05 Naoaki Okazaki <okazaki at chokkan org> 2008-04-25 Naoaki Okazaki <okazaki at chokkan org>
* CRFsuite 0.4 (the first public release): * libLBFGS 1.4:
- Website and documentation for CRFsuite. - Configurable line search algorithms. A member variable
- Tutorial on the CoNLL 2000 chunking shared task. lbfgs_parameter_t::linesearch was added to choose either MoreThuente
- Performance comparison on the CoNLL 2000 chunking shared task. method (LBFGS_LINESEARCH_MORETHUENTE) or backtracking algorithm
- Bug fix in L2 regularization. (LBFGS_LINESEARCH_BACKTRACKING).
- A number of small improvements for the public release. - Fixed a bug: the previous version did not compute psuedo-gradients
properly in the line search routines for OW-LQN. This bug might quit
an iteration process too early when the OW-LQN routine was activated
(0 < lbfgs_parameter_t::orthantwise_c).
- Configure script for POSIX environments.
- SSE/SSE2 optimizations with GCC.
- New functions lbfgs_malloc and lbfgs_free to use SSE/SSE2 routines
transparently. It is uncessary to use these functions for libLBFGS
built without SSE/SSE2 routines; you can still use any memory
allocators if SSE/SSE2 routines are disabled in libLBFGS.
2007-12-12 Naoaki Okazaki <okazaki at chokkan org> 2007-12-16 Naoaki Okazaki <okazaki at chokkan org>
* CRFsuite 0.3 (internal release): * libLBFGS 1.3:
- Implemented scaling method for forward/backward algorithm. - An API change. An argument was added to lbfgs() function to receive
- Removed the code for computing the forward/backward algorithm in logarithm domain. the final value of the objective function. This argument can be set
to NULL if the final value is unnecessary.
- Fixed a null-pointer bug in the sample code (reported by Takashi
Imamichi).
- Added build scripts for Microsoft Visual Studio 2005 and GCC.
- Added README file.
2007-11-30 Naoaki Okazaki <okazaki at chokkan org> 2007-12-13 Naoaki Okazaki <okazaki at chokkan org>
* CRFsuite 0.2 (internal release): * libLBFGS 1.2:
- Orthant-Wise Limited-memory Quasi-Newton (OW-LQN) method for L1 regularization. - Fixed a serious bug in orthant-wise L-BFGS. An important variable
was used without initialization.
- Configurable L-BFGS parameters (number of limited memories, epsilon). - Configurable L-BFGS parameters (number of limited memories, epsilon).
2007-10-29 Naoaki Okazaki <okazaki at chokkan org> 2007-12-01 Naoaki Okazaki <okazaki at chokkan org>
* CRFsuite 0.1 (internal release): * libLBFGS 1.1:
- Implemented orthant-wise L-BFGS.
- Implemented lbfgs_parameter_init() function.
- Fixed several bugs.
- API documentation.
2007-09-20 Naoaki Okazaki <okazaki at chokkan org>
* libLBFGS 1.0
- Initial release. - Initial release.

View File

@ -3,7 +3,7 @@
SUBDIRS = lib sample SUBDIRS = lib sample
docdir = $(prefix)/share/doc/@PACKAGE@ docdir = $(prefix)/share/doc/@PACKAGE@
doc_DATA = README INSTALL COPYING AUTHORS ChangeLog doc_DATA = README INSTALL COPYING AUTHORS ChangeLog NEWS
EXTRA_DIST = \ EXTRA_DIST = \
autogen.sh \ autogen.sh \

14
README
View File

@ -39,26 +39,26 @@ $ make install # To install libLBFGS library and header.
========================================================================= =========================================================================
This library has SSE/SSE2 optimization routines for vector arithmetic This library has SSE/SSE2 optimization routines for vector arithmetic
operations on Intel/AMD processors. The SSE2 routine is for 64 bit double operations on Intel/AMD processors. The SSE2 routine is for 64 bit double
values whereas the SSE routine is for 32 bit float values. Since the values, and the SSE routine is for 32 bit float values. Since the default
default parameters for L-BFGS are tuned for double precision values, it parameters in libLBFGS are tuned for double precision values, it may need
may be more straightforward to use SSE2 optimization than to use SSE. to modify these parameters to use the SSE optimization routines.
To use the SSE2 optimization routine, specify --enable-sse2 option to the To use the SSE2 optimization routine, specify --enable-sse2 option to the
configure script. configure script.
$ ./configure --enable-sse2 $ ./configure --enable-sse2
To build libLBFGS with SSE optimization on Microsoft Visual Studio 2005, To build libLBFGS with SSE2 optimization enabled on Microsoft Visual
define USE_SSE and __SSE2__ symbols. Studio 2005, define USE_SSE and __SSE2__ symbols.
Make sure to run libLBFGS on processors where SSE2 instrunctions are Make sure to run libLBFGS on processors where SSE2 instrunctions are
available. available. The library does not check the existence of SSE2 instructions.
To package maintainers, To package maintainers,
Please do not enable SSE/SSE2 optimization routine. The library built Please do not enable SSE/SSE2 optimization routine. The library built
with SSE/SSE2 optimization will crash without any notice when necessary with SSE/SSE2 optimization will crash without any notice when necessary
SSE/SSE2 instructions are unavailable. SSE/SSE2 instructions are unavailable on computers.