本文整理汇总了C#中ILayer.ResetState方法的典型用法代码示例。如果您正苦于以下问题:C# ILayer.ResetState方法的具体用法?C# ILayer.ResetState怎么用?C# ILayer.ResetState使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ILayer
的用法示例。
在下文中一共展示了ILayer.ResetState方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CalculateMedianPerplexity
public static double CalculateMedianPerplexity(ILayer layer, List<DataSequence> sequences)
{
double temperature = 1.0;
List<Double> ppls = new List<Double>();
foreach (DataSequence seq in sequences) {
double n = 0;
double neglog2Ppl = 0;
Graph g = new Graph(false);
layer.ResetState();
foreach (DataStep step in seq.Steps) {
Matrix logprobs = layer.Activate(step.Input, g);
Matrix probs = GetSoftmaxProbs(logprobs, temperature);
int targetIndex = GetTargetIndex(step.TargetOutput);
double probOfCorrect = probs.W[targetIndex];
double log2Prob = Math.Log(probOfCorrect)/Math.Log(2); //change-of-base
neglog2Ppl += -log2Prob;
n += 1;
}
n -= 1; //don't count first symbol of sentence
double ppl = Math.Pow(2, (neglog2Ppl/(n-1)));
ppls.Add(ppl);
}
return Util.Util.Median(ppls);
}