本文整理汇总了C++中intVector::front方法的典型用法代码示例。如果您正苦于以下问题:C++ intVector::front方法的具体用法?C++ intVector::front怎么用?C++ intVector::front使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类intVector
的用法示例。
在下文中一共展示了intVector::front方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CreateTabularPotential
void CMNet::CreateTabularPotential( const intVector& domain,
const floatVector& data )
{
AllocFactor( domain.size(), &domain.front() );
pFactorVector factors;
int numFactors = GetFactors( domain.size(), &domain.front(), &factors );
if( numFactors != 1 )
{
PNL_THROW( CInconsistentSize,
"domain must be the same as corresponding domain size got from graph" );
}
factors[0]->AllocMatrix( &data.front(), matTable );
}
示例2:
void CSamplingInfEngine::
GetObsDimsWithVls(intVector &domain, int nonObsNode, const CEvidence* pEv,
intVector *dims, intVector *vls) const
{
int nnodes = domain.size();
dims->resize(nnodes - 1);
vls->resize(nnodes - 1);
int* it = &domain.front();
int* itDims = &dims->front();
int* itVls = &vls->front();
int i;
for( i = 0; i < nnodes; i++, it++ )
{
if( *it != nonObsNode )
{
*itDims = i;
*itVls = pEv->GetValueBySerialNumber(*it)->GetInt();//only if all nds are tabular!!
itDims++;
itVls++;
}
}
}
示例3: AllocDistribution
void CGaussianCPD::AllocDistribution( const floatVector& mean,
const floatVector& cov, float normCoeff,
const floatVecVector& weights,
const intVector& parentCombination )
{
if( weights.size() )
{
pnlVector<const float*> pWeights;
int numWeights = weights.size();
pWeights.resize( numWeights );
for( int i = 0; i < numWeights; i++ )
{
pWeights[i] = &weights[i].front();
}
AllocDistribution( &mean.front(), &cov.front(), normCoeff,
&pWeights.front(), &parentCombination.front() );
}
else
{
AllocDistribution( &mean.front(), &cov.front(), normCoeff, NULL,
&parentCombination.front() );
}
}
示例4: MarginalNodes
void CGibbsSamplingInfEngine::
MarginalNodes( const intVector& queryNdsIn, int notExpandJPD )
{
MarginalNodes( &queryNdsIn.front(), queryNdsIn.size(), notExpandJPD );
}
示例5: MarginalNodes
void CExInfEngine< INF_ENGINE, MODEL, FLAV, FALLBACK_ENGINE1, FALLBACK_ENGINE2 >::MarginalNodes( intVector const &queryNds, int notExpandJPD )
{
MarginalNodes(&queryNds.front(), queryNds.size(), notExpandJPD );
}
示例6: SetCoefficientVec
void CGaussianCPD::SetCoefficientVec( float coeff,
const intVector& parentCombination )
{
SetCoefficient( coeff, &parentCombination.front() );
}
示例7: GetCoefficientVec
float CGaussianCPD::GetCoefficientVec( const intVector& parentCombination )
{
return GetCoefficient( &parentCombination.front() );
}
示例8: AllocDistribution
void CSoftMaxCPD::AllocDistribution(const floatVector& weights,
const floatVector& offsets, const intVector& parentCombination)
{
AllocDistribution(&weights.front(), &offsets.front(),
&parentCombination.front());
}
示例9: GetFactors
int CGraphicalModel::GetFactors( const intVector& subdomainIn,
pFactorVector *paramsOut ) const
{
return GetFactors( subdomainIn.size(), &subdomainIn.front(),
paramsOut );
};
示例10: AllocFactor
void CGraphicalModel::AllocFactor( const intVector& domainIn)
{
AllocFactor( domainIn.size(), &domainIn.front() );
};
示例11: ToggleNodeStateBySerialNumber
void CNodeValues::ToggleNodeStateBySerialNumber( const intVector& numsOfNds )
{
int numNds = numsOfNds.size();
const int* pNumsOfNds = &numsOfNds.front();
ToggleNodeStateBySerialNumber( numNds, pNumsOfNds );
}
示例12: ComputeFamilyScore
float CMlStaticStructLearn::ComputeFamilyScore(intVector vFamily)
{
int nFamily = vFamily.size();
CCPD* iCPD = this->CreateRandomCPD(nFamily, &vFamily.front(), m_pGrModel);
CTabularDistribFun *pDistribFun;
int ncases = m_Vector_pEvidences.size();
const CEvidence * pEv;
float score;
float pred = 0;
EDistributionType NodeType;
switch (m_ScoreMethod)
{
case MaxLh :
if ( !((iCPD->GetDistribFun()->GetDistributionType() == dtSoftMax)
|| (iCPD->GetDistribFun()->GetDistributionType() == dtCondSoftMax)))
{
iCPD->UpdateStatisticsML( &m_Vector_pEvidences.front(), ncases );
score = iCPD->ProcessingStatisticalData(ncases);
}
else
{
float **evid = NULL;
float **full_evid = NULL;
BuildFullEvidenceMatrix(&full_evid);
CSoftMaxCPD* SoftMaxFactor = static_cast<CSoftMaxCPD*>(iCPD);
SoftMaxFactor->BuildCurrentEvidenceMatrix(&full_evid, &evid,
vFamily,m_Vector_pEvidences.size());
SoftMaxFactor->InitLearnData();
SoftMaxFactor->SetMaximizingMethod(mmGradient);
SoftMaxFactor->MaximumLikelihood(evid, m_Vector_pEvidences.size(),
0.00001f, 0.01f);
SoftMaxFactor->CopyLearnDataToDistrib();
if (SoftMaxFactor->GetDistribFun()->GetDistributionType() == dtSoftMax)
{
score = ((CSoftMaxDistribFun*)SoftMaxFactor->GetDistribFun())->CalculateLikelihood(evid,ncases);
}
else
{
score = ((CCondSoftMaxDistribFun*)SoftMaxFactor->GetDistribFun())->CalculateLikelihood(evid,ncases);
};
for (int k = 0; k < SoftMaxFactor->GetDomainSize(); k++)
{
delete [] evid[k];
}
delete [] evid;
int i;
intVector obsNodes;
(m_Vector_pEvidences[0])->GetAllObsNodes(&obsNodes);
for (i=0; i<obsNodes.size(); i++)
{
delete [] full_evid[i];
}
delete [] full_evid;
};
break;
case PreAs :
int i;
NodeType = iCPD->GetDistributionType();
switch (NodeType)
{
case dtTabular :
for(i = 0; i < ncases; i++)
{
pConstEvidenceVector tempEv(0);
tempEv.push_back(m_Vector_pEvidences[i]);
iCPD->UpdateStatisticsML(&tempEv.front(), tempEv.size());
iCPD->ProcessingStatisticalData(tempEv.size());
pred += log(((CTabularCPD*)iCPD)->GetMatrixValue(m_Vector_pEvidences[i]));
}
break;
case dtGaussian :
for(i = 0; i < ncases; i += 1 )
{
pConstEvidenceVector tempEv(0);
tempEv.push_back(m_Vector_pEvidences[i]);
iCPD->UpdateStatisticsML(&tempEv.front(), tempEv.size());
float tmp = 0;
if (i != 0)
{
tmp =iCPD->ProcessingStatisticalData(1);
pred +=tmp;
}
}
break;
case dtSoftMax:
PNL_THROW(CNotImplemented,
"This type score method has not been implemented yet");
break;
default:
PNL_THROW(CNotImplemented,
"This type score method has not been implemented yet");
break;
};
//.........这里部分代码省略.........