- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
此代码是关于使用 com.googlecode.javacv.cpp 训练神经网络当我制作 .create 方法时出现错误
static void train (CvMat TrainData, CvMat classes, int nlayers,int numOfClasses)
{
CvANN_MLP C=new CvANN_MLP();
CvMat layerSizes = cvCreateMat(1, 3, CV_32FC1);
layerSizes.put(0, 0, TrainData.cols());//put or rows or ???
layerSizes.put(0, 1, nlayers);
layerSizes.put(0, 2, numOfClasses);
double alpha=1.0;
double beta=1.0;
C.create(layerSizes, CvANN_MLP.SIGMOID_SYM, alpha,beta );//there is an error here
//OpenCV Error: Bad argument (The array of layer neuron counters must be an integer vector) in//CvANN_MLP::create, file ......\src\opencv\modules\ml\src\ann_mlp .cpp,第 230 行
//Prepare trainClasses
//Create a mat with n trained data by m classes
CvMat trainClasses = null;
trainClasses.create(TrainData.rows(), numOfClasses, opencv_core.CV_32FC1);
for( int i = 0; i < trainClasses.rows(); i++ )
{
for( int k = 0; k < trainClasses.cols(); k++ )
{
int [] ClassesNumber =new int[1];
//If class of data i is same than a k class
classes.get(i, k );
if(k == ClassesNumber[0])
{
trainClasses.put(i, k);
}
else{
trainClasses.put(i, k);
}
}
}
CvMat weights = cvCreateMat( 1, TrainData.rows(), opencv_core.CV_32FC1 );
cvSet(weights, CvScalar.ONE);
//Scler 1111111111
//Learn classifier
C.train(TrainData, trainClasses, weights,null,new CvANN_MLP_TrainParams(), 0);
//trained=true;
}
最佳答案
您必须找到确切的问题,但错误是因为您试图将非整数数量的神经元放入层中。神经网络在每一层中使用离散数量的神经元。也许您不小心分配了 0 个神经元或负数的神经元?确保在调用方法或构造函数时以正确的顺序放置参数。
您告诉训练方法您有 0 个类要输出。因此,您试图将 0 个神经元放在一个层中。您需要确定您期望的输出数量,并且它必须大于零。
if(x>0)
C.train(TrainData, trainClasses, weights,null,new CvANN_MLP_TrainParams(), x);
else
//it won't work
此外,为什么要将 6 个参数传递给具有 4 个参数的方法?...您不能展示您的方法 - 或者您真的不知道这段代码在做什么。在这种情况下你不应该使用它。像下面这样使用它:
layerSizes.put(0, 0, #inputs);
layerSizes.put(0, 1, #hidden neurons);
layerSizes.put(0, 2, #outputs);
关于java - OpenCV 错误 : Bad argument (The array of layer neuron counters must be an integer vector),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17276548/
哪个更快? Counter()+=Counter 或 Counter.update(Counter)? 为什么一个比另一个更快? 我尝试了一些简单的分析,但我认为这不足以最终证明 Counter+=C
这个问题在这里已经有了答案: ++someVariable vs. someVariable++ in JavaScript (7 个答案) 关闭 7 年前。 var counter = 0; va
下面是我正在使用的代码。如果我按 addQuanity m_label 设置显示一个而不是两个。如果我再次按 addWuantity,m_label 显示 2。按 minusQuantity 将 m_
这个问题已经有答案了: Does Java evaluate remaining conditions after boolean result is known? (7 个回答) 已关闭 6 年前。
因此,当我将计数器(from collections import Counter)打印到一个文件时,我总是得到它的文字 Counter ({'Foo': 12}) 有没有办法让计数器不那么字面地写出
我正在使用 CSS2.1 计数器将数字应用于棋盘上的人,以实现棋盘游戏,其棋盘图使用 HTML 和 CSS,方法如下: .ply {counter-increment:main;} .move:be
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Is there a performance difference between i++ and ++i
我在尝试编译 Arduino 草图时遇到此错误。我看不出它认为我试图在没有参数的情况下调用 Counter::Counter 的地方。这是怎么回事? sketch/periodic_effect.cp
调用Get-Counter时使用-ComputerName参数和使用-Counter参数中的路径有区别吗? Get-Counter -Counter "\Memory\Available MB
姓名 Counter在 collections 中都定义了(作为一个类(class))和在 typing (作为通用类型名称)。不幸的是,它们略有不同。处理这个问题的推荐方法是什么? 相同点和不同点:
此代码不会给出任何失败,但如果您使用 counter++,则第一次迭代会失败。 parameters="one two three" counter=0 for option in $param
powershell 中的 get-counter/export-counter cmdlet 似乎以美国格式返回日期,这在这种情况下是相当不受欢迎的。我浏览了两个 get-help -full 页面
我有 2 个计数器(来自集合的计数器),我想将一个附加到另一个,而第一个计数器的重叠键将被忽略。喜欢 dic.update (python 词典更新) 例如: from collections imp
我想在我的项目中为 Provider ( ChangeNotifierProvider ) 创建一个单元测试,我的单元测试、小部件测试和集成测试成功通过 ✔️,所以现在我尝试(努力尝试🥵...)创建
我知道以下代码的复杂度为 O(log(n)): while (n>1) { counter++; n/=2; } 我知道在这里,n 在每次迭代中被分成两半,这意味着如果 n 是 100
Counter.getName() 方法与 Counter.getDisplayName() 方法有什么区别。我没有从文档中看到太多信息 http://hadoop.apache.org/docs/r
我有一个 python 文件,用于在 Hadoop(版本 2.6.0)上使用 mrjob 来计算二元语法,但我没有得到我希望的输出,而且我在破译终端中的输出时遇到了问题我哪里出错了。 我的代码: re
我看到带有错误消息的事件 ID 2001: It has taken too long to refresh the W3SVC counters , the stale counters are b
我对 React 完全陌生,我正在 YouTube 上学习教程(使用 MOSH 编程),但我遇到了这个错误,在找到类似问题后无法解决。 index.js import React from 'reac
我正在运行一个 hadoop 作业(来自 oozie),它有几个计数器和多输出。 我收到如下错误:org.apache.hadoop.mapreduce.counters.LimitExceededE
我是一名优秀的程序员,十分优秀!