good to know it's working.
you might want to try out the new feature caused you trouble:
Time taken
Peak disk usage (GB) argument to train-model.perl
Baseline
02:56:05
61.2
New
02:51:00
36.5
+4 cores
02:30:09
37.1 -cores 4
+compress intermediate sort files
02:10:11
18.7 -cores 4 -sort-compress gzip
+optimized
01:37:00
18.7
-cores 4 -sort-compress gzip -sort-buffer-size 200M -sort-batch-size
253 -sort-parallel 4
On 26/05/2012 18:12, Tomas Hudik wrote:
Hi There,
Finally I got it. Basically, there is no bug J
The problem was the older (svn) moses version didn't require absolute
path for train-model.perl for parameter "--corpus". When I put the
absolute path to the new moses version -- the path was correctly hand
out to extract-parallel and then to ln.
The conclusion is -- *if a problem with path arises always try to put
absolute paths to all possible parameters* J
Cheers, Tomas
*From:*Tomas Hudik [mailto:[email protected]]
*Sent:* Saturday, May 26, 2012 5:27 PM
*To:* Hieu Hoang; [email protected]
*Subject:* Re: [Moses-support] new PhraseExtractor -- segmentation
faul; the old one run smooth
Hi guys,
Phil -- thanks.
Hieu -- you are correct (dir is created). The problem is in command ln
in extract_parallel (lines: 70 and 2 more below 70).
$cmd = "ln -s $target $TMPDIR/target.$numStr";
ln creates symbolic link (no error message is generated), however, the
link is invalid. It is due to variable $target which contains only
file name (no path). But ln for the 1st argument requires a path.
e.g.:
ln -s lotus.tok.rem.clean.lw.cs ./model/tmp.23799/target.00003
model/tmp.23799/target.00003 is created but it points to
lotus.tok.rem.clean.lw.cs instead of ../../lotus.tok.rem.clean.lw.cs,
therefore path is needed:
ln -s /home/mee/lotus.tok.rem.clean.lw.cs ./model/tmp.23799/target.00003
creates valid link.
extract_parallel needs to be fixed (to work with the path), or
train-model.perl needs to provide full path
Cheers, Tomas
Ps Just for curiosity: for what reason are the links created?
Wouldn't be better to work with original files?
*From:*Hieu Hoang [mailto:[email protected]]
<mailto:[mailto:[email protected]]>
*Sent:* Saturday, May 26, 2012 2:50 PM
*To:* [email protected] <mailto:[email protected]>; Tomas Hudik
*Subject:* Re: [Moses-support] new PhraseExtractor -- segmentation
faul; the old one run smooth
hi tomas
1. thanks. Phil fixed it
https://github.com/moses-smt/mosesdecoder/commit/82580280bc0b30607b00a55ffe0f22d5665269a3
2. The temp directory is created in
extract-parallel.perl line 34
Do you get an error when running the extract or scoring?
On 26/05/2012 12:33, Tomas Hudik wrote:
Hi Hieu,
Thanks for your reply. Yep - I downloaded latest git version
(de8a2e7667fe2bde9df0ef5a32b3b85b6469eb0f) and found out following
problems:
1.During compilation; gcc version 4.6.3. produces error in:
gcc.compile.c++
scripts/training/phrase-extract/pcfg-common/bin/gcc-4.6.3/release/debug-symbols-on/link-static/threading-multi/xml_tree_parser.o
In file included from
scripts/training/phrase-extract/pcfg-common/pcfg_tree.h:24:0,
from
scripts/training/phrase-extract/pcfg-common/xml_tree_parser.h:24,
from
scripts/training/phrase-extract/pcfg-common/xml_tree_parser.cc:20:
scripts/training/phrase-extract/pcfg-common/syntax_tree.h: In
destructor 'virtual Moses::PCFG::SyntaxTreeBase<T,
DerivedType>::~SyntaxTreeBase()':
scripts/training/phrase-extract/pcfg-common/syntax_tree.h:83:8: error:
'size_t' was not declared in this scope
scripts/training/phrase-extract/pcfg-common/syntax_tree.h:83:8: note:
suggested alternatives:
/usr/lib/gcc/x86_64-redhat-linux/4.6.3/../../../../include/c++/4.6.3/x86_64-redhat-linux/bits/c++config.h:1737:26:
note: 'std::size_t'
/usr/lib/gcc/x86_64-redhat-linux/4.6.3/../../../../include/c++/4.6.3/x86_64-redhat-linux/bits/c++config.h:1737:26:
note: 'std::size_t'
scripts/training/phrase-extract/pcfg-common/syntax_tree.h:83:15:
error: expected ';' before 'i'
scripts/training/phrase-extract/pcfg-common/syntax_tree.h:83:22:
error: 'i' was not declared in this scope
It means, size_t should be replaced by std::size_t. After this,
compilation works fine. I would do this but I'm not with familiar with
git ...
2. during training(extract phrases ;step 5) there is a command:
/home/mee/moses/scripts//generic/extract-parallel.perl 1 split
"sort "
/home/mee/new/moses/scripts//training/phrase-extract/extract
lotus.tok.rem.clean.lw.cs lotus.tok.rem.clean.lw.en
./model/aligned.grow-diag-final-and ./model/extract 7 orientation
--model wbe-msd --GZOutput
Which executes commands like:
ln -s lotus.tok.rem.clean.lw.en
/home/mee/lotus/train/model/tmp.22477/source.00000
ln: failed to create symbolic link
`/home/mee/lotus/train/model/tmp.22477/source.00000': No such file or
directory
The problem is that directory tmp.22477 is not created yet.
Presumable, some mkdir command should predecease symbolic link creation.
Are my assumptions correct?
Thx, Tomas
_______________________________________________
Moses-support mailing list
[email protected] <mailto:[email protected]>
http://mailman.mit.edu/mailman/listinfo/moses-support
_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support