opencv 计算机视觉(python)

  1. 隐藏层大小:实验基础上选择

  2. 输入层很大:隐藏神经元的数量介于输入层与输出层之间,而且通常更接近输出层大小

  3. 输入层和输出层都很小:隐藏层时最大的

  4. 输入层小,输出层大:隐藏层更接近输入层大小

  5. 过拟合:隐含层中包含的伪信息过多

  6. setLayerSizes:1:输入层大小。最后:输出层大小,所有中间元素:隐藏层大小
    eg:[9,15,9]:9个输入节点,9个输出节点,15个节点的隐藏层
    [9,15,15,9]:9个输入节点,9个输出节点,两个15个节点的隐藏层

  7. 配置激活函数、训练方法,训练中止标准:

  8. 对称sigmoid(cv2.m1.ANN_MLP_SIGMOID_SYM)

  9. 反向传播方法(cv2.m1.ANN_MLP_BACKPROP)
    (反向传播:在输出层计算预测误差的算法,,通过之前的层回溯错误的来源,并更新权重以减小误差)

  10. 训练人工神经网络:指定训练的输入(samples),对应正确的输出(responses),数据格式(layout)`

training_sample=np.array([[1.2,1.3,1.9,2.2,2.3,2.9,3.0,3.2,3.3]],np.float(32))
layout=cv2.m1.ROW_SAMPLE
training_responses=np.array([[0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0]],np.flost32)
data=cv2.m1.TraingData_create(
    training_samples,layout,training_responses
)
ann.train(data)

预测的输出是一个元组,第一个值是类别,第二个值是包含每个类的概率的一个数组。
预测的类将具有最高的概率值。

训练多阶段人工神经网络分类器

在一定程度上,阶段越多,准确率越高但是阶段过高会导致过拟合。
1、导包
randint:生成伪随机整数
uniform:生成伪随机浮点数

import cv2
import numpy as np
from random import randint,uniform

2、创建 配置人工神经网络
3个输入层,50个隐藏层,4个输出层

animals_net=cv2.m1.ANN_MLP_create()
animals_net.setLayerSizes(np.array([3,50,4]))
animals_net.setActivationFunction(cv2.m1.ANN_MLP_SIGMOID_SYM,0.6,1.0<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值