| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #include "perf_benchmark.h" |
| #include "speech.h" |
|
|
| |
| PerfBenchmark::~PerfBenchmark() |
| { |
| map<string, vector<int> >::iterator i, ei; |
|
|
| i = costs.begin(); |
| ei = costs.end(); |
|
|
| while(i != ei) |
| { |
| i->second.clear(); |
| i++; |
| } |
|
|
| costs.clear(); |
| props.clear(); |
| } |
|
|
| |
| PerfBenchmark::PerfBenchmark() |
| { |
| |
| Segment* t_seg; |
| SegmentsGroup* t_segs; |
|
|
| |
| |
| |
| |
| t_segs = new SegmentsGroup(); |
| t_seg = CreateSampleSegment(200, string("b")); |
| t_segs->AddReference(t_seg); |
|
|
| t_seg = CreateSampleSegment(200, string("c")); |
| t_segs->AddHypothesis(t_seg); |
|
|
| tests.push_back(t_segs); |
| props.clear(); |
| properties.push_back(props); |
| costs["std"].push_back(0); |
|
|
| |
| |
| |
| |
| |
| t_segs = new SegmentsGroup(); |
| t_seg = CreateSampleSegment(100, string("b")); |
| t_segs->AddReference(t_seg); |
|
|
| t_seg = CreateSampleSegment(50, string("c")); |
| t_segs->AddHypothesis(t_seg); |
|
|
| t_seg = CreateSampleSegment(50, string("d")); |
| t_segs->AddHypothesis(t_seg); |
|
|
| tests.push_back(t_segs); |
| props.clear(); |
| properties.push_back(props); |
| costs["std"].push_back(0); |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| t_segs = new SegmentsGroup(); |
| t_seg = CreateSampleSegment(50, string("b")); |
| t_segs->AddReference(t_seg); |
|
|
| t_seg = CreateSampleSegment(20, string("c")); |
| t_segs->AddHypothesis(t_seg); |
|
|
| t_seg = CreateSampleSegment(20, string("d")); |
| t_segs->AddHypothesis(t_seg); |
|
|
| t_seg = CreateSampleSegment(10, string("e")); |
| t_segs->AddHypothesis(t_seg); |
|
|
| t_seg = CreateSampleSegment(2, string("f")); |
| t_segs->AddHypothesis(t_seg); |
|
|
| t_seg = CreateSampleSegment(2, string("g")); |
| t_segs->AddHypothesis(t_seg); |
|
|
| tests.push_back(t_segs); |
| props.clear(); |
| properties.push_back(props); |
| costs["std"].push_back(0); |
| } |
|
|
| |
| |
| |
| int PerfBenchmark::GetCost(std::size_t index, string type) |
| { |
| return costs[type][index]; |
| } |
|
|
| Segment* PerfBenchmark::CreateSampleSegment(int nb, string hop) |
| { |
| SpeechSet* speechSet = new SpeechSet(); |
| Speech* speech = new Speech(speechSet); |
| Segment* t_seg = Segment::CreateWithEndTime(0, nb*1000, speech); |
| Token* f_tok = Token::CreateWithEndTime(0, 1000, t_seg, "a"); |
| Token* p_tok = f_tok; |
| Token* t_tok; |
| |
| for (int i=1 ; i < nb ; i++) |
| { |
| t_tok = Token::CreateWithEndTime(1000*i, 1000*i + 1000, t_seg, hop, p_tok, NULL); |
| p_tok = t_tok; |
| } |
| |
| t_seg->AddFirstToken(f_tok); |
| t_seg->AddLastToken(p_tok); |
| return t_seg; |
| } |
|
|