我在RapidMiner Studio中训练并验证了MLP模型。 我的输入值已经标准化为[-1,1]。 据我所知,MLP已经由其权重定义。 如您所见,ANN有一个隐藏层: http://i.stack.imgur.com/qhVP0.png
现在我试图在OpenCV中导入它,因为我不想重新训练整个模型。 我从RapidMiner获得了每个Node + Bias的所有权重。
OpenCV提供函数CvANN_MLP :: load(),我可以在其中加载XML或YML文件。 我尝试根据自己的需要修改现有的YML配置。如您所见,我已经定义了图层/数据的尺寸。
我有23个输入,15个隐藏节点和5个输出。 所以我得到(23 + 1)* 15 =隐藏层的360权重和输出层的(15 + 1)* 5 = 80权重。
我的主要问题是:
我已经尝试导入修改后的文件和编译的程序。 它计算一些东西,但我不认为/我不确定它是否有效。
这是我的YML文件:
<p>Hover me</p>
<div class="semi-circle"></div>
答案 0 :(得分:0)
在玩了一些重量,位置和音阶后,我得出的结论是,通常不能使用相同的重量。
我认为原因是无法按原样处理分类数据(详情请参阅Official Documentation)。 重量和体重的整个结构对我来说变得有些难以理解。
我不得不直接用OpenCV重新训练网络。这很难过,因为我无法使用RapidMiner的强大交叉验证功能来验证分类。此外,训练算法似乎有很大的不同,所以我得到了一个不同的网络。
如果将来某人有将重量导入OpenCV的解决方案,请告知我们。