- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在搞乱 Accord.NET 中的不同深度学习算法。我决定用我手边的光谱数据来做这件事。我使用 Accord 的统计工具箱对数据进行 PCA 转换,使其减少到 10 个数据点。然后严格按照教程进行操作:
// Setup the deep belief network and initialize with random weights.
DeepBeliefNetwork network = new DeepBeliefNetwork(transformedInputs.First().Length, 10, 10);
new GaussianWeights(network, 0.1).Randomize();
network.UpdateVisibleWeights();
// Setup the learning algorithm.
DeepBeliefNetworkLearning teacher = new DeepBeliefNetworkLearning(network)
{
Algorithm = (h, v, i) => new ContrastiveDivergenceLearning(h, v)
{
LearningRate = 0.1,
Momentum = 0.5,
Decay = 0.001,
}
};
// Setup batches of input for learning.
int batchCount = Math.Max(1, transformedInputs.Length / 100);
// Create mini-batches to speed learning.
int[] groups = Accord.Statistics.Tools.RandomGroups(transformedInputs.Length, batchCount);
double[][][] batches = transformedInputs.Subgroups(groups);
// Learning data for the specified layer.
double[][][] layerData;
// Unsupervised learning on each hidden layer, except for the output layer.
for (int layerIndex = 0; layerIndex < network.Machines.Count - 1; layerIndex++)
{
teacher.LayerIndex = layerIndex;
layerData = teacher.GetLayerInput(batches);
for (int i = 0; i < 200; i++)
{
double error = teacher.RunEpoch(layerData) / transformedInputs.Length;
if (i % 10 == 0)
{
Console.WriteLine(i + ", Error = " + error);
}
}
}
// Supervised learning on entire network, to provide output classification.
var teacher2 = new BackPropagationLearning(network)
{
LearningRate = 0.1,
Momentum = 0.5
};
// Run supervised learning.
for (int i = 0; i < 500; i++)
{
double error = teacher2.RunEpoch(transformedInputs, output: outputs);
if (i % 10 == 0)
{
Console.WriteLine(i + ", Error = " + error);
}
}
我检查了输入的数据,输入和输出的双[][]格式都是正确的。我还检查了原始应用程序:https://github.com/primaryobjects/deep-learning这非常有效,所以我很难理解仅仅改变输入数据就会造成如此大的困惑。任何帮助将不胜感激。我收到的错误是:
An unhandled exception of type 'System.IndexOutOfRangeException' occurred in Accord.Neuro.dll
其他信息:索引超出了数组范围。
最佳答案
当然,在发布这个问题后,我立即意识到我的网络必须反射(reflect)输出的数量,并且设置为 10。对于打扰这个出色的社区,我感到非常抱歉。
关于c# - 为什么在使用 Accord.NET 运行 BackPropagation 时出现 OutofRangeException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41025186/
有谁知道为什么这段代码会返回超出范围的异常? 例如,如果 leastAbstractions列表实例有 count == 10 , 循环将执行 11次以 i = 10 结束并返回此异常。 for (
PHP 定义了两个 SPL无效键的异常(exception)情况: OutOfRangeException: Exception thrown when an illegal index was re
所以我一直在努力建立一个 SQL 单词数据库,据我从调试日志中可以看出,它实际上确实正确地加载和设置了。但是,当我尝试查询它时,无论它是在设置过程中还是已经完成,我的程序都因为异常而被强制关闭。对日志
我正在尝试使用 Apache Commons Math 库以及 PolynomialSplineFunction 和 LinearInterpolator 函数来实现外推函数。 public dou
我有两个使用 SemaphoreSlim 和字符串数组“Contents”的循环 一个foreach循环: var allTasks = new List(); var
我正在搞乱 Accord.NET 中的不同深度学习算法。我决定用我手边的光谱数据来做这件事。我使用 Accord 的统计工具箱对数据进行 PCA 转换,使其减少到 10 个数据点。然后严格按照教程进行
我是一名优秀的程序员,十分优秀!