You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(2) |
Sep
(7) |
Oct
(4) |
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(1) |
Feb
|
Mar
(2) |
Apr
|
May
(2) |
Jun
(2) |
Jul
(3) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2004 |
Jan
(1) |
Feb
(2) |
Mar
(2) |
Apr
|
May
(3) |
Jun
(8) |
Jul
(11) |
Aug
(4) |
Sep
(14) |
Oct
(7) |
Nov
(7) |
Dec
(3) |
| 2005 |
Jan
(12) |
Feb
(10) |
Mar
(2) |
Apr
(5) |
May
(3) |
Jun
(8) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Nicolas C. <cha...@ap...> - 2005-06-24 23:03:04
|
Hello all,
Just a quick note that the next svn update of PLearn will probably turn
up more than its fair share of changes. I spent the better part of the
afternoon tracking down uninitialized default variables in many PLearn
classes, and adding initializations as appropriate. These changes
should NOT change the behavior of the code; if they do, they are simply
revealing that the old code was erroneous, and you should reconsider
results that depend on it.
Oh, and in a few cases, I did put a few more help strings as well. :-)
I warmly encourage all PLearn coders to "back-document" the code as they
encounter undocumented classes. Just add the appropriate help to the
PLEARN_IMPLEMENT_OBJECT declarations and to declareOption() calls in the
.cc files, and they will be automatically reflected in the HTML help
(when it's next updated).
+ Nicolas
--
Nicolas Chapados, Ph.D. candidate
Département d'informatique et recherche opérationnelle
Université de Montréal
http://www.iro.umontreal.ca/~chapados
|
|
From: Olivier D. <del...@ir...> - 2005-06-21 19:25:55
|
I suggest you edit your ~/.subversion/config and look for the line containing 'global-ignores': uncomment it and add OBJS in the list of ignored patterns, to avoid being annoyed with these directories when doing a svn status command (you'll also have to uncomment the line '[miscellany]' three lines above). -- Olivier |
|
From: Christian H. <ch...@ap...> - 2005-06-21 16:40:34
|
Hi, the migration from CVS to Subversion is now complete. To get back a copy of PLearn, please use the following instructions (note that there may be a delay before your Berlios account is activated; if the following don't work, please retry later... I don't know what the exact delay is, but it is less or equal to 24h): 1. Move your CVS copy of Plearn to PLearn.cvs. (You can delete it once you're sure that there are not files in there that you had forgotten to "cvs add".) 2. Execute the following command: svn checkout svn+ssh://USERNAME@svn.berlios.de/svnroot/repos/plearn/trunk PLearn where you replace "USERNAME" by your Berlios username. (If your Berlios username is identical to your Lisa account name, you can omit the "USERNAME@" part.) You will be asked for your Berlios password twice. Then you can do a commit using "svn commit" and an update using "svn update". (Unlike CVS, most subversion commands are recursive by default (including svn add! so be careful...). Check the help for a particular command *before* using it if you are unsure.) You use "svn add" to add new files to the repository, and (unlike cvs!), there are also "svn cp", "svn mv" and "svn rm" commands to copy, move/rename and delete files or directories without losing any of the version history. For more details, there is a excellent free subversion book online available at: http://svnbook.red-bean.com/en/1.1/index.html If you don't have the time to at least peruse the whole book, I would still strongly recommand that you at least read appendix A: Subversion for CVS users: http://svnbook.red-bean.com/en/1.1/apa.html (Note that these URLs point to the version of the book for subversion 1.1, while the version installed at the LISA for now is 1.0.9... Hopefully the version of subversion at the LISA will be upgraded to something more recent soon. In the meantime, you can replace the "1.1" by "1.0" in the preceding URLs to get documentation for version 1.0) Happy subversionning, Christian |
|
From: Pascal V. <vin...@ir...> - 2005-06-20 15:38:13
|
This is a reminder that your access to SourceForge's PLearn CVS will be disabled by 5pm tonight (we've moved the deadline by a few hours to leave you a little more time to commit your changes...) so that we can move everything to BerliOS' SVN tonight. Please commit your changes before 5pm (but before, make sure they don't prevent plearn from compiling, and don't break things). Note that you'll still have access to your uncomitted local changes after we cut your access to CVS, but you'll have to merge them by hand into the newly checked out version from BerliOS. Also if you haven't yet created an account for yourself in BerliOS, please do so today, and send me your BerliOS account name (along with your old SourceForge account name). Thanks! Pascal -- Pascal Vincent |
|
From: Pascal L. <lam...@ir...> - 2005-06-15 14:43:23
|
Hello everybody, I've added an option allowing to specify how to penalize the weights' value (with weight decay): penalty_type. It is a string, now tree values are supported: =B7 "L2_square": default value, same behaviour as before; =B7 "L1": same as (now deprecated) L1_penalty boolean option; =B7 "L1_square": new (possibly bugged). I also changed the corresponding variables in class AffineTransformWeightPenalty, and in the classes I found that used this variable (including MultiInstanceNNet, ConditionalDensityNet, RecommandationNet, and NeighborhoodSmoothnessNNet, maybe others as well). If you were using "L1_penalty" variable, the build_() function will now set penalty_type to "L1", but beware: L1_penalty is now deprecated and will be removed. I compiled plearn_full and lplearn without problems, if you experience some with your code, please report it. --=20 Pascal Actualit=E9s du jour : Michael Jackson a =E9t=E9 blanchi. |
|
From: Pierre-Jean L H. <lhe...@ir...> - 2005-06-13 14:10:55
|
> b) send me ( pa...@ap... ) an email with your old sourcegorge login and > your new berlios login. (If you can't remember your Sourceforge login, you sourceforge login: lheureup berlios login: lheureup -- +-------------------------------------------------------------------------+ Pierre-Jean L'Heureux | Stagiaire post-doctoral DIRO | Chimie physique Universite de Montreal | AstraZeneca R&D Montreal Tel: (514) 343-6111 ext:1794 | (514) 832-3200 ext:2448 Web: http://www.iro.umontreal.ca/~lheureup |
|
From: Pascal V. <vin...@ir...> - 2005-06-09 19:56:29
|
Hello fellow PLearners To get rid of slowness and antiquity of CVS we are planning to move PLearn from sourceforge+CVS to BerliOS+SVN (SVN==subversion is a new and better version control system). The move is scheduled for Monday June 20. A PLearn introductory tutorial is then scheduled for Thursday June 23. Here are the few personal steps you have to take for the move: a) create an account for yourself on http://developer.berlios.de/ b) send me ( pa...@ap... ) an email with your old sourcegorge login and your new berlios login. (If you can't remember your Sourceforge login, you can do a cat PLearn/CVS/Root to refresh your memory) c) Make sure to remember your berlios login and password! Before Monday June 20, make sure you have comitted your important changes to PLearn and that this doesn't prevent plearn.cc from compiling and working (things you won't have comitted by then, you'll have to reintegrate *by hand* in the newly checked-out version). On Monday June 20th, around 11:00, we'll cut your access to PLearn's sourceforge CVS, preventing any further commit, so that we may copy the repository to BerliOS. We'll send you instructions by the end of the day, or latest on tuesday, to perform a new checkout from the new SVN repository. Thanks! -- Pascal -- Pascal Vincent |
|
From: Olivier D. <del...@ir...> - 2005-06-09 17:34:47
|
Heya, I just committed a modification in GaussianKernel whose goal is to avoid numerical imprecisions when dealing with high-norm vectors. Thus, your computations might be slightly different from (and slower than) before this update, if you were previously suffering from these approximations. -- Olivier |
|
From: Christian D. <do...@ap...> - 2005-05-26 15:34:37
|
Hello PLearners,
We are currently working on the replication under PLearn of some
results obtained otherwise using a very complicated model: An Evil
Linear Regression! Obvisously, in this tremendous task, we could not
succeed at first trial... After a few hours of gdb,
I finally understood that, while weight decay means weight decay for the
rest of the universe, in a LinearRegressor it meant
weight_decay*train_set.length()
After some voodoo incantations and a little conversation with some well
known PLearners, we decided that, from now on, weight decay will mean
weight decay even in the fascinating world of PLearn. Hence,
LinearRegressor.cc was modified and committed.
If it may, anyhow, cause any problem to anyone, please let me know.
'Till then, tata.
PS: For those who'd like to know, I finally succeeded, thanks to that
modification, in the colossal challenge of linear regression!
--
*Christian Dorion*/
M.Sc. Informatique et Recherche Opérationnelle//
Apstat Technologies Inc./
http://www.apstat.com
Tél : (514) 343-9119, ext. 237
"Soyons réalistes, exigeons l'impossible",
Ernesto "Che" Guevara, 1928-1967
"Love is a Temple, Love the higher Law",
One, U2
|
|
From: Nicolas C. <cha...@ap...> - 2005-05-25 21:17:59
|
Hello all,
A quick note to let you know that I changed the order of the arguments
for the '^' function in VMatLanguage. Now if you write ::
2 3 ^
it returns pow(2,3), i.e. 8, instead of pow(3,2). The reason :: it's
usually a lot more frequent to have a long computation leading to the
left-side than to the right-side (which is most often constant), hence
the resulting code is a tiny bit more clear. But with VPL, every tiny
bit of clearness is like a breath of fresh air from the green valleys of
virgin countries.
I DON'T think that a lot of people will be affected by this... But if
ever you are, feel free to negociate with me.
+ Nicolas
--
Nicolas Chapados, M.Sc.
ApSTAT Technologies Inc.
www.apstat.com
|
|
From: Nicolas C. <cha...@ap...> - 2005-05-17 22:45:08
|
Hello all,
Some minor changes to LinearRegressor and related functions :
1) It's now possible to perform the regression without the inclusion of
a bias term (!). Just set the option 'include_bias' to false (it's true
by default to keep backward compatibility).
2) The train costs 'mse' and 'mse+penalty' now correctly return the MEAN
squared-error rather than the total sum of squares. If you have old
train statistics (or test suite results) the old training costs are not
comparable to the new ones, so don't panic if your new statistics don't
match the old ones.
3) The linearRegression() and weightedLinearRegression() functions in
VMat_linalg.h/cc now don't automatically assume that the regression is
carried out with a bias term. It's now the CALLER's responsibility to
extend the training input VMat to add a column of ones.
(LinearRegressor does that if asked.)
Pascal and I verified that no code in PLearn or LisaPLearn were
adversely impacted.
+ Nicolas
--
Nicolas Chapados, M.Sc.
ApSTAT Technologies Inc.
www.apstat.com
|
|
From: Nicolas C. <cha...@ap...> - 2005-04-29 15:27:17
|
Hello all,
The class TextFilesVMatrix has been upgraded to support arbitrary field
delimiters. You can therefore use this class to import CSV
(comma-separated-values) files. I also added some documentation...
Happy plearning!
+ Nicolas
--
Nicolas Chapados, M.Sc.
ApSTAT Technologies Inc.
www.apstat.com
|
|
From: Nicolas C. <cha...@ap...> - 2005-04-06 23:03:58
|
Fellow PLearn astronauts,
I just committed a significant upgrade to the 'vmat convert' command to
make it more useful for various tasks:
1) the --cols=col1,col2,... option can now be specified for all types of
destination vmatrix. An example is as follows:
plearn vmat convert file1.pmat file2.csv --cols=Date,8,36-43,MSE,72
This will convert from .pmat to .csv (see next item), but keep only the
specified columns: a field named "Date", column #8 (zero-based), all
columns from 36 to 43 (inclusive), a field named "MSE", and the column
#72. You get the idea...
2) The .csv (Comma-Separated Value) export has been beefed up a little
bit. This is useful for exporting to the outside world; for example
Excel has very good .csv import support. The export function now writes
the field names between double-quotes as the first line of the exported
file (any quote character within a fieldname is escaped properly as
well). It also supports a new option: --skip-missings. If this option
is specified, any row that contains missing values will be skipped.
(This is supported for .csv only, right now).
Happy camping on Planet PLearn!
+ Nicolas
--
Nicolas Chapados, M.Sc.
ApSTAT Technologies Inc.
www.apstat.com
|
|
From: Pascal L. <lam...@ir...> - 2005-04-06 01:40:38
|
On Wed, Apr 06, 2005, Pascal Lamblin wrote:
> However, since lplearn is linking with external libraries,
^^^^^^^
linked (oops, my taylor is becoming poor)
> it doesn't work yet. Still working on it.
Now, everything is working, or at least should be.
If you're linking your plearn with exotic libraries and experience
problems, if you have weird error messages, or if I've broken somethink
I shouldn't have, please report it and let me see what I can do.
Have a nice night,
--=20
Pascal
=AB L'abus de mod=E9ration nuit =E0 PLearn. Consommez avec ou sans th=E9.=
=BB
|
|
From: Pascal L. <lam...@ir...> - 2005-04-05 23:42:19
|
Hello again, On Tue, Apr 05, 2005, Pascal Lamblin wrote: > By the way, plearn doesn't compile on AMD64 ! For example, the > "SimpleDB" class, which is included in basic plearn, doesn't compile, > due to an error I don't understand. Thanks to Norman (my hero), this problem is now fixed, so plearn and plearn_full compile under 64-bits. However, since lplearn is linking with external libraries, it doesn't work yet. Still working on it. --=20 Pascal =AB L'abus de PLearn nuit =E0 la sant=E9, consommez avec mod=E9ration. =BB |
|
From: Pascal L. <lam...@ir...> - 2005-04-05 21:55:29
|
Hello all, I've added a new option, "-m32", to cross-compile in 32-bits on 64-bits (AMD64 and hopefully ia64) machines, with gcc. The resulting object files are output in the OBJS/linux-i386... folder, since they're executable on any linux-i386 machine. If you're not using the "-local" flag, pymake uses .pymake/linux-i386, linux-ia64 and linux-x86_64 hosts files for distributed compilation. If you find this hack too messy, please let me know or correct it. To be able to compile on Lisa's 64-bits machines, which don't have all 32-bits libraries, I copied some from 32-bits machines into /u/lisa/local/linux-i386/lib/ (libblas, libg2c, liblapack and libnspr4 were concerned). By the way, plearn doesn't compile on AMD64 ! For example, the "SimpleDB" class, which is included in basic plearn, doesn't compile, due to an error I don't understand. It's not a life-or-death problem, since we can compile in 32-bits mode, but it's too bad not to be able to use all the power of brand new machines :^) Happyplearning, -- Pascal |
|
From: Olivier D. <del...@ir...> - 2005-03-18 14:28:38
|
> PS It'd be a good idea if someone at LISA could to through the > subclasses of RowBufferedVMatrix in LisaPLearn and add the needed calls > to invalidateBuffer. At first glance, there does not seem to be any subclass of RowBufferedVMatrix included in lplearn that implements some put method, so it should be ok. |
|
From: Christian H. <ch...@ap...> - 2005-03-17 23:11:43
|
Hi, I corrected a bug in RowBufferedVMatrix that shows up in subclasses that have the ability to insert rows into an existing matrix (via the putRow, putSubRow, etc. methods). RowBufferedVMatrix was missing the concept of its buffer not being valid anymore becase the underlying matrix had been modified. So if you did something like: vmat->getRow(0); vmat->putRow(0, Vec(blah...)); vmat->getRow(0); the second getRow() call would return the old value for the row. I've added a method invalidateBuffer to RowBufferedVMatrix that must be called in every put method for subclasses. (There is no need to call it for append, however.) I went through the derived classes of RowBufferedVMatrix and added invalidateBuffer calls to CompactVMatrix and FileVMatrix. I also added a testcase that uses FileVMatrix that catches this bug. Just FYI if you need to write new subclasses of RowBufferedVMatrix. Christian PS It'd be a good idea if someone at LISA could to through the subclasses of RowBufferedVMatrix in LisaPLearn and add the needed calls to invalidateBuffer. |
|
From: Nicolas C. <cha...@ap...> - 2005-02-23 21:25:27
|
Hello all,
The get/setOption mechanism has allowed very flexible "structured"
options for quite some time. For instance, from code, one can write
myobject->setOption("learner.option[4].suboption", "value");
Unfortunately, the case where the option is a vector of "plain-old-data"
(POD) type would crash mysteriously with an uncaught exception ::
myobject->setOption("learner.otheroption[5]", "42");
where otheroption is, e.g. a TVec<int> (because, internally,
otheroption[5] was trying to get converted into an Object*).
Fixing this behavior actually required fairly deep changes into
OptionBase/Option mechanism, to support "indexed option
reading/writing". But it has been fixed! The main benefit is for
hyper-parameter optimization: one can now declare individual elements of
a vector to be hyper-parameters and optimize over them.
If you don't understand this, not to worry. Everything else WILL STILL
behave as before, but don't get too surprised at a near-complete
recompile upon your next PLearn cvs update.
As always, comments, suggestions, praises, curses welcome. Well, may be
not curses.
+ Nicolas
--
Nicolas Chapados, M.Sc.
ApSTAT Technologies Inc.
www.apstat.com
|
|
From: Nicolas C. <cha...@ap...> - 2005-02-17 07:55:27
|
Hello all, This has been a long requested feature by some of you. Suppose you perform a set of experiments and you want to determine whether one model is "really" better than another. Obviously, this is "hypothesis testing" from your elementary statistics class. But it was not so easy to perform in PLearn. Until now. Introducing "pairdiff" (located in files PLearn/commands/PLearnCommands/PairwiseDiffsCommand.*). Let's take a simple exemple: you want to compare two models, let's call them A and B. After running your experiment, you have two results directories, expdir_a and expdir_b, each containing a file 'test_costs.pmat' giving various costs for each example in your test set. Let's assume that the same test set was used in both cases, and you want to perform a pairwise Z-test on the MSE difference between the models. Let's also assume that one of the cost names is 'MSE'. Simply running plearn pairdiff MSE expdir_a/test_costs.pmat expdir_b/test_costs.pmat will print out the mean MSE difference between the two matrices, and the P-value that this difference is zero (under a normally-distributed null hypothesis). "That's good", you say, "but what if I don't want the mean and P-value, but the kurtosis and skewness of the difference instead?" Ah ah, we thought about that too! Just enter :: plearn pairdiff --stats=KURT,SKEW MSE expdir_a/test_costs.pmat expdir_b/test_costs.pmat In fact, all the statistics supported by StatsCollector can be used! Any number of them. Just separate them by commas (and this being Unix, don't dare separate them with spaces). I feel you are starting to become interested. But you ask "what if I have a huge truckload of models and I want to compare them???". Ah ah, we thought about that too! Just enter :: plearn pairdiff MSE expdir_1/test_costs.pmat expdir_2/test_costs.pmat ... expdir_N/test_costs.pmat where N is the size of the truck, and ALL THE FILES will be compared pairwise, and the results diligently printed out to stdout. The format is nice and easily parsable by other tools, so if you want to plug in a report generator on the output and have your thesis generated for you just by punching a few keystrokes, you have a piece of your solution! NOTE: the current version does not perform the Diebold-Mariano correction for correlated time-series data. This is soon coming! Comments and suggestions welcome. Enjoy! + Nicolas P.S. CC'ed to LISA and ApSTAT because of SourceForge's unreliable list distribution mechanism. --- Nicolas Chapados, M.Sc. ApSTAT Technologies Inc. www.apstat.com |
|
From: Christian D. <do...@ap...> - 2005-02-14 14:42:20
|
Hi,
I just did a commit of plearn_learners/unsupervised/PCA.{h,cc} adding a
new algo mode: 'incremental'. It simply uses the classical algorithm but
computes the covariance matrix in an incremental manner. When 'incremental'
is used, a new training set is assumed to be a superset of the old training
set, i.e. beginning with the rows of the old training set but ending with
some new rows.
Note that the 'incremental' mode also manages the 'horizon' option
(_horizon public member). This option specifies a window over which the PCA
should be done. That is, if the length of the training set is greater than
'horizon', the observations that will effectively contribute to the
covariance matrix will only be the last 'horizon' ones. This option
defaults to -1, all negative values being interpreted as 'keep all
observations'.
May peace be with you... and your PLearn soul.
--
*Christian Dorion*/
M.Sc. Informatique et Recherche Opérationnelle//
Apstat Technologies Inc./
http://www.apstat.com
Tél : (514) 343-9119, ext. 237
"Soyons réalistes, exigeons l'impossible",
Ernesto "Che" Guevara, 1928-1967
"Love is a Temple, Love the higher Law",
One, U2
|
|
From: Olivier D. <del...@ir...> - 2005-02-12 03:02:48
|
En fait, en y réfléchissant, ça n'était pas une bonne idée: en effet on
pourrait avoir lu -1 (= 255) et vouloir faire un putback(-1).
Je vois bien d'autres façons de contourner le problème mais je préfère
laisser les experts régler ça (je laisse mon fix pour l'instant, au
point où on en est...).
Olivier
On 11 Feb 2005, Olivier Delalleau wrote:
> Je ne sais pas exactement partout où les y trema apparaissaient, mais j'ai
> éradiqué une de ses origines.
> Le problème était le suivant: j'ai mis des PStream à pas mal d'endroits,
> et la méthode unget() n'existant pas, j'ai suivi les conseils en
> commentaire disant d'utiliser putback(c) à la place (c étant le dernier
> caractère lu).
> Hic: si le dernier get() a renvoyé -1 (EOF), en faisant un putback(-1)
> on remet le PStream dans un état valide et le prochain caractère lu est
> -1, c.à.dire le y trema.
> Fix (committé): ne pas rajouter un EOF dans putback:
> void PStreamBuf::putback(char c)
> {
> if (c == EOF)
> return;
> ...
> Ça me semble logique, mais peut-être un PStreaMaster aura-t-il une
> objection...
> Je n'ai pas touché pour l'instant à la dernière modif' de Pascal, au cas
> où mon fix ne suffirait pas.
>
> Olivier
>
> On 11 Feb 2005, Pascal Vincent wrote:
> > J'ai fait un commit pour revenir à une version qui ne fait plus de y trema.
> >
> > Sans pour l'intant comprendre ce qui se passait.
> >
> > J'entrerai plus en détails là dedans la semaine prochaine.
> >
> > En attendant vous pouvez faire un update, et i ne devrait plus y avoir
> > de y trema...
> >
> > -- Pascal
> >
|
|
From: Olivier D. <del...@ir...> - 2005-02-12 02:18:34
|
Je ne sais pas exactement partout où les y trema apparaissaient, mais j'ai
éradiqué une de ses origines.
Le problème était le suivant: j'ai mis des PStream à pas mal d'endroits,
et la méthode unget() n'existant pas, j'ai suivi les conseils en
commentaire disant d'utiliser putback(c) à la place (c étant le dernier
caractère lu).
Hic: si le dernier get() a renvoyé -1 (EOF), en faisant un putback(-1)
on remet le PStream dans un état valide et le prochain caractère lu est
-1, c.à.dire le y trema.
Fix (committé): ne pas rajouter un EOF dans putback:
void PStreamBuf::putback(char c)
{
if (c == EOF)
return;
...
Ça me semble logique, mais peut-être un PStreaMaster aura-t-il une
objection...
Je n'ai pas touché pour l'instant à la dernière modif' de Pascal, au cas
où mon fix ne suffirait pas.
Olivier
On 11 Feb 2005, Pascal Vincent wrote:
> J'ai fait un commit pour revenir à une version qui ne fait plus de y trema.
>
> Sans pour l'intant comprendre ce qui se passait.
>
> J'entrerai plus en détails là dedans la semaine prochaine.
>
> En attendant vous pouvez faire un update, et i ne devrait plus y avoir
> de y trema...
>
> -- Pascal
>
|
|
From: Pascal V. <pa...@ap...> - 2005-02-12 00:22:18
|
J'ai fait un commit pour revenir à une version qui ne fait plus de y trema. Sans pour l'intant comprendre ce qui se passait. J'entrerai plus en détails là dedans la semaine prochaine. En attendant vous pouvez faire un update, et i ne devrait plus y avoir de y trema... -- Pascal -- Pascal Vincent Directeur Technique, ApSTAT Technologies Inc. Tel: (514) 576-8223 http://www.apstat.com |
|
From: Olivier D. <del...@ir...> - 2005-02-08 21:41:32
|
I modified the functions in fileutils to use PPaths and PStreams, and tweaked a few more files and classes. The important points: 1) Maybe I broke a few things, feel free to fix them 2) Some files may now require to include <plearn/io/fileutils.h> to compile 3) The setExperimentDirectory method in PLearner and HyperCommand has changed, and YOU MUST FIX IT in your own subclasses if you don't want to have surprises later (NB: I took care of the code in PLearn and LisaPLearn): < virtual void setExperimentDirectory(const string& the_expdir); --- > virtual void setExperimentDirectory(const PPath& the_expdir); -- Olivier PS: Ah, I know I broke the AsciiVMatrix class too, sorry 'bout that. The MultiInstanceVMatrix may also be affected (I did not test it yet). |