opencv - ANN-人工神经网络训练

标签 opencv neural-network

我知道可以使用CvFileStorage将受过训练的ANN保存到文件中,但是我真的不喜欢CvFileStorage保存培训的方式,然后我想知道:是否有可能检索培训的信息并将其保存在自定义方式?

提前致谢。

最佳答案

只看xml结构,这非常简单。
对象的名称与ANN类中的名称相同。
这是一个XOR解决网络:

<?xml version="1.0"?>
<opencv_storage>
<my_nn type_id="opencv-ml-ann-mlp">
  <layer_sizes type_id="opencv-matrix">
    <rows>1</rows>
    <cols>3</cols>
    <dt>i</dt>
    <data>
      2 3 1</data></layer_sizes>
  <activation_function>SIGMOID_SYM</activation_function>
  <f_param1>1.</f_param1>
  <f_param2>1.</f_param2>
  <min_val>-9.4999999999999996e-001</min_val>
  <max_val>9.4999999999999996e-001</max_val>
  <min_val1>-9.7999999999999998e-001</min_val1>
  <max_val1>9.7999999999999998e-001</max_val1>
  <training_params>
    <train_method>RPROP</train_method>
    <dw0>1.0000000000000001e-001</dw0>
    <dw_plus>1.2000000000000000e+000</dw_plus>
    <dw_minus>5.0000000000000000e-001</dw_minus>
    <dw_min>1.1920928955078125e-007</dw_min>
    <dw_max>50.</dw_max>
    <term_criteria><epsilon>9.9999997764825821e-003</epsilon>
      <iterations>1000</iterations></term_criteria></training_params>
  <input_scale>
    2. -1. 2. -1.</input_scale>
  <output_scale>
    5.2631578947368418e-001 4.9999999999999994e-001</output_scale>
  <inv_output_scale>
    1.8999999999999999e+000 -9.4999999999999996e-001</inv_output_scale>
  <weights>
    <_>
      -3.8878915951440729e+000 -3.7728173427563569e+000
      -1.9587678786875042e+000 3.7898767378369680e+000
      3.0354324494246829e+000 1.9757881693499044e+000
      -3.5862527376978406e+000 -3.2701446005792296e+000
      1.3000011629911392e+000</_>
    <_>
      3.1017381376627204e+000 1.1052842857439200e+000
      -4.6739037571329822e+000 3.2282702769334666e+000</_></weights></my_nn>
</opencv_storage>

您可以将相同的参数保存到您的格式化文件中。一些字段受到保护,但是您可以从CvANN_MLP设置子类,并创建oun文件保护程序。

关于opencv - ANN-人工神经网络训练,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24123737/

相关文章:

neural-network - 优化期间交叉熵损失如何转换为标量?

r - Keras 模型中训练和验证样本较小时如何衡量过拟合

matlab - 如何使用 MATLAB 训练能够计算 XOR 的神经网络?

c++ - 来自 opencv 的 Imshow 不再工作

python - 拍照opencv + python 3.3

python - 如何使用 OpenCV-Python 检测照片上的黑色形状轮廓

c - FANN 中的函数根据训练时设置的缩放参数来缩放测试数据

python - 具有非平行外线的立体图像的 OpenCV 深度图

c++ - OpenCV 3.0 findContours 崩溃

machine-learning - Keras 自定义损失 (chi2) 线性回归