本文将Matlab训练好的神经网络参数导出,在Visual Studio中导入,对数据重新计算。本文的方法可以用于C++调用离线训练好的神经网络。作为神经网络学习之路的一个小小记录
欢迎到我的博客查看更完整的内容
Matlab训练神经网络
首先在Matlab中训练神经网络,本文使用了Matlab的神经网络工具箱中的House Pricing
示例模型。
在Matlab命令行界面中键入nnstart
进入神经网络工具箱,导入数据,默认隐含层有10个神经元,一路next到这里,导出矩阵参数的神经网络匹配函数
得到myNeuralNetworkFunction
函数,例如下面这个:
可见里面有很多的数据矩阵,那些就是神经网络的权值和偏置参数
写一小段代码,用于测试生成的神经网络,例如:
i=1:15;
predict = myNeuralNetworkFunction(houseInputs(:,i))
result = houseTargets(i);
plot(predict,'b');hold on;
plot(result,'g');
该代码用了生成的神经网络重新计算前15组输入数据,并与真实结果plot
在同一幅图像中,可见该神经网络还是比较令人满意的
导出Matlab的神经网络参数
上文生成的神经网络函数中包含了很多的网络权值和偏移参数,下面将这些参数矩阵导出供Visual Studio读取
在
<myNeuralNetworkFunction
退出的地方放置一个断点,让程序跑到这里停止,方便导出数据