Is it possible to cache some data when decoding a source sentence? I was trying 
to use boost's thread_specific_ptr to cache a map which I want to update in my 
evaluation function but when I try to access the map 
(https://github.com/KonceptGeek/mosesdecoder/blob/RELEASE-3.0-CombinedFeature-Caching/moses/FF/CoarseBiLM.cpp#L145-L154)
 I get segmentation fault as the object doesn't exist. 

Is there any other way to do some caching?

> On Feb 20, 2016, at 3:35 PM, Jasneet Sabharwal <jasneet.sabhar...@sfu.ca> 
> wrote:
> 
> Thanks Mathias, I'll try these out.
> 
> ----- Original Message -----
> From: "Matthias Huck" <mh...@inf.ed.ac.uk>
> To: "Hieu Hoang" <hieuho...@gmail.com>, "Jasneet Sabharwal" 
> <jasneet.sabhar...@sfu.ca>
> Cc: "moses-support" <moses-support@mit.edu>
> Sent: Saturday, February 20, 2016 6:08:52 PM
> Subject: Re: [Moses-support] Segmentation Fault
> 
> Hi Jasneet,
> 
> Why don't you use a proper profiling tool, e.g. the one in valgrind [1]?
> 
> If you visualize its output [2], you'll see quickly where the program
> spends all the computing time.
> 
> Cheers,
> Matthias
> 
> 
> [1] http://valgrind.org/docs/manual/cl-manual.html
> [2] https://github.com/jrfonseca/gprof2dot
> 
> 
> 
>> On Sat, 2016-02-20 at 09:58 +0000, Hieu Hoang wrote:
>> it's great that you've written a new feature function but you will
>> have to debug it yourself. I suggest you put lots of debugging
>> messages in your code to find out where the problem is.
>> 
>> Moses has the Timer class in /moses/Timer.h which you can use to help
>> your debug your problem
>> 
>> Hieu Hoang
>> http://www.hoang.co.uk/hieu
>> 
>> On 20 February 2016 at 04:20, Jasneet Sabharwal <
>> jasneet.sabhar...@sfu.ca> wrote:
>>> Hi Hieu,
>>> 
>>> Just to provide more info, I had compiled moses using the following
>>> command: "./bjam -j8 -q --with-cmph=/cs/natlang
>>> -user/jasneet/softwares/cmph-2.0/ --with-boost=/cs/natlang
>>> -user/jasneet/softwares/boost/ --max-kenlm-order=8 -a --with-mm -
>>> -with-probing-pt”. 
>>> 
>>> Following are some more translation times from the logs using the
>>> command: 
>>> 
>>> $ grep “Translation took” mert.log
>>> 
>>> Line 53: Translation took 9504.886 seconds total
>>> Line 25: Translation took 16931.106 seconds total
>>> Line 20: Translation took 17477.958 seconds total
>>> Line 34: Translation took 18409.183 seconds total
>>> Line 36: Translation took 20495.204 seconds total
>>> Line 48: Translation took 16093.966 seconds total
>>> Line 68: Translation took 4773.139 seconds total
>>> Line 18: Translation took 22165.429 seconds total
>>> Line 10: Translation took 23794.930 seconds total
>>> Line 11: Translation took 26313.130 seconds total
>>> Line 74: Translation took 6238.326 seconds total
>>> Line 66: Translation took 14968.715 seconds total
>>> Line 3: Translation took 28973.902 seconds total
>>> Line 45: Translation took 27619.088 seconds total
>>> Line 81: Translation took 4666.394 seconds total
>>> Line 37: Translation took 36502.892 seconds total
>>> Line 83: Translation took 3143.882 seconds total
>>> Line 70: Translation took 20143.743 seconds total
>>> Line 1: Translation took 38498.391 seconds total
>>> Line 19: Translation took 39683.472 seconds total
>>> Line 15: Translation took 39903.566 seconds total
>>> Line 33: Translation took 40047.447 seconds total
>>> 
>>> The times are extremely high and I’m not really sure why it is
>>> taking so much time.
>>> 
>>> Regards,
>>> Jasneet
>>>> On Feb 18, 2016, at 11:04 AM, Jasneet Sabharwal <
>>>> jasneet.sabhar...@sfu.ca> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> I was able to solve the segmentation fault issue. It was because
>>>> of OOVs. I’m currently trying to tune the parameters using mert,
>>>> but it is running extremely slow. For example, from the logs: 
>>>> 
>>>> Translating: 美国 之 音 记者 伏 来 库 斯 从 布宜诺斯艾利斯 发 来 的 另 一 篇 报导 说 , 几 名
>>>> 美国 国会 议员 星期二 把 这 一 争论 带 到 了 布宜诺斯艾利斯 的 会议 大厅 。
>>>> Line 43: Initialize search took 0.007 seconds total
>>>> Line 43: Collecting options took 0.191 seconds at
>>>> moses/Manager.cpp:117
>>>> Line 38: Search took 1092.075 seconds
>>>> Line 38: Decision rule took 0.000 seconds total
>>>> Line 38: Additional reporting took 0.041 seconds total
>>>> Line 38: Translation took 1092.132 seconds total
>>>> 
>>>> I tried to time the functions in my feature function using
>>>> clock_t but all of them show up as 0.000. I’m not sure why tuning
>>>> is taking too much time. My moses.ini is attached in this email.
>>>> 
>>>> Any suggestions would be helpful.
>>>> 
>>>> Regards,
>>>> Jasneet
>>>> 
>>>> <moses.ini>
>>>>> On Feb 12, 2016, at 3:58 PM, Hieu Hoang <hieuho...@gmail.com>
>>>>> wrote:
>>>>> 
>>>>> I think it's 
>>>>>  FeatureFunction::GetScoreProducerDescription()
>>>>> 
>>>>>> On 12/02/16 23:56, Jasneet Sabharwal wrote:
>>>>>> Thanks, will give that a try. 
>>>>>> 
>>>>>> Also, is it possible to get the value of feature name inside
>>>>>> the feature function. I’m specifically talking about “name”
>>>>>> parameter in moses.ini. I’m running multiple copies of my
>>>>>> feature function with different parameter as follows:
>>>>>> CoarseBiLM name=CoarseBiLM tgtWordId...
>>>>>> CoarseBiLM name=CoarseLM100 tgtWordId…
>>>>>> CoarseBiLM name=CoarseLM1600 tgtWordId...
>>>>>> CoarseBiLM name=CoarseBiLMWithoutClustering tgtWordId…
>>>>>> 
>>>>>> Thanks,
>>>>>> Jasneet
>>>>>>> On Feb 12, 2016, at 3:39 PM, Hieu Hoang <
>>>>>>> hieuho...@gmail.com> wrote:
>>>>>>> 
>>>>>>> you can run the decoder
>>>>>>> ./moses -v 3
>>>>>>> however, you should put debugging messages in your feature
>>>>>>> functions to find out where the problem is. It looks like
>>>>>>> its in the Load() method so add lots of debugging message
>>>>>>> in there and all functions it calls
>>>>>>> 
>>>>>>>> On 12/02/16 23:34, Jasneet Sabharwal wrote:
>>>>>>>> Thanks Hieu for your reply. 
>>>>>>>> 
>>>>>>>> Is it possible to do a verbose output of what’s
>>>>>>>> happening, so that I can identify when it’s going out of
>>>>>>>> memory? I’m only running it for 1928 sentences. I have
>>>>>>>> almost 170gb of free memory and additional 400gb memory
>>>>>>>> in buffer.
>>>>>>>> 
>>>>>>>> Thanks,
>>>>>>>> Jasneet
>>>>>>>> 
>>>>>>>>> On Feb 12, 2016, at 2:36 PM, Hieu Hoang <
>>>>>>>>> hieuho...@gmail.com> wrote:
>>>>>>>>> 
>>>>>>>>> looks like it's run out of memory. 
>>>>>>>>> 
>>>>>>>>>> On 11/02/16 23:23, Jasneet Sabharwal wrote:
>>>>>>>>>> Hi,
>>>>>>>>>> 
>>>>>>>>>> I was adding a new feature function in Moses (https:/
>>>>>>>>>> /github.com/KonceptGeek/mosesdecoder/blob/master/mose
>>>>>>>>>> s/FF/CoarseBiLM.cpp). It works fine when I test it
>>>>>>>>>> for 1-2 sentences, but when I’m trying to tune my
>>>>>>>>>> parameters, I’m getting segmentation faults or
>>>>>>>>>> sometimes it is bad_alloc. Following was one of the
>>>>>>>>>> commands that was executed during the tuning process
>>>>>>>>>> which caused the Segmentation Fault or bad_alloc:
>>>>>>>>>> 
>>>>>>>>>> moses -threads 40 -v 0 -config filtered/moses.ini 
>>>>>>>>>> -weight-overwrite 'CoarseLM100= 0.075758 LM0=
>>>>>>>>>> 0.075758 CoarseBiLMNotClustered= 0.075758
>>>>>>>>>> WordPenalty0= -0.151515 PhrasePenalty0= 0.030303
>>>>>>>>>> CoarseBiLMClustered= 0.075758 TranslationModel0=
>>>>>>>>>> 0.030303 0.030303 0.030303 0.030303 Distortion0=
>>>>>>>>>> 0.045455 CoarseLM1600= 0.075758 LexicalReordering0=
>>>>>>>>>> 0.045455 0.045455 0.045455 0.045455 0.045455
>>>>>>>>>> 0.045455' -n-best-list run1.best100.out 100 distinct 
>>>>>>>>>> -input-file tune.word.lc.cn
>>>>>>>>>> 
>>>>>>>>>> The log is enclosed in this email.
>>>>>>>>>> 
>>>>>>>>>> Any pointers would be very useful.
>>>>>>>>>> 
>>>>>>>>>> Thanks,
>>>>>>>>>> Jasneet
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Moses-support mailing list
>>>>>>>>>> Moses-support@mit.edu
>>>>>>>>>> http://mailman.mit.edu/mailman/listinfo/moses-support
>>>>>>>>> -- 
>>>>>>>>> Hieu Hoang
>>>>>>>>> http://www.hoang.co.uk/hieu
>>>>>>> -- 
>>>>>>> Hieu Hoang
>>>>>>> http://www.hoang.co.uk/hieu
>>>>> -- 
>>>>> Hieu Hoang
>>>>> http://www.hoang.co.uk/hieu
>> _______________________________________________
>> Moses-support mailing list
>> Moses-support@mit.edu
>> http://mailman.mit.edu/mailman/listinfo/moses-support
> 
> -- 
> The University of Edinburgh is a charitable body, registered in
> Scotland, with registration number SC005336.
> 
> 
> _______________________________________________
> Moses-support mailing list
> Moses-support@mit.edu
> http://mailman.mit.edu/mailman/listinfo/moses-support

_______________________________________________
Moses-support mailing list
Moses-support@mit.edu
http://mailman.mit.edu/mailman/listinfo/moses-support

Reply via email to