void PhraseDictionaryOnDisk::InitializeForInput(InputType const& source) { const StaticData &staticData = StaticData::Instance(); ReduceCache(); OnDiskPt::OnDiskWrapper *obj = new OnDiskPt::OnDiskWrapper(); obj->BeginLoad(m_filePath); UTIL_THROW_IF2(obj->GetMisc("Version") != OnDiskPt::OnDiskWrapper::VERSION_NUM, "On-disk phrase table is version " << obj->GetMisc("Version") << ". It is not compatible with version " << OnDiskPt::OnDiskWrapper::VERSION_NUM); UTIL_THROW_IF2(obj->GetMisc("NumSourceFactors") != m_input.size(), "On-disk phrase table has " << obj->GetMisc("NumSourceFactors") << " source factors." << ". The ini file specified " << m_input.size() << " source factors"); UTIL_THROW_IF2(obj->GetMisc("NumTargetFactors") != m_output.size(), "On-disk phrase table has " << obj->GetMisc("NumTargetFactors") << " target factors." << ". The ini file specified " << m_output.size() << " target factors"); UTIL_THROW_IF2(obj->GetMisc("NumScores") != m_numScoreComponents, "On-disk phrase table has " << obj->GetMisc("NumScores") << " scores." << ". The ini file specified " << m_numScoreComponents << " scores"); m_implementation.reset(obj); }
void PhraseDictionaryOnDisk::InitializeForInput(InputType const& source) { const StaticData &staticData = StaticData::Instance(); OnDiskPt::OnDiskWrapper *obj = new OnDiskPt::OnDiskWrapper(); if (!obj->BeginLoad(m_filePath)) return; CHECK(obj->GetMisc("Version") == OnDiskPt::OnDiskWrapper::VERSION_NUM); CHECK(obj->GetMisc("NumSourceFactors") == m_input.size()); CHECK(obj->GetMisc("NumTargetFactors") == m_output.size()); CHECK(obj->GetMisc("NumScores") == m_numScoreComponents); m_implementation.reset(obj); }