赞
踩
一般的神经网络包括输入层(Input Layer)、隐藏层(Hidden Layer)、输出层(Output Layer),层数大于等于2的神经网络称为多层神经网络(Multi-Layer Neural Network),一般是在隐藏层进行扩展。如图2中a是最基本的2层结构神经网络,b是在a的基础上对隐藏层进行扩展,变成3层神经网络。
线性模型简单高效,且易于求解。但是它有个明显的缺陷:模型的能力被局限在线性函数中,因此它无法理解任意两个输入变量间的非线性相互作用 。
解决线性模型缺陷的方法是:采用核技巧,将线性模型作用在 上,而不是原始输入 上。其中 是一个非线性变换。
当 具有足够高的维数,则总是有足够的能力来适应训练集,但是对于测试集的泛化往往不佳。
训练一个深度前馈网络和训练一个线性模型的选项相同:选择优化算法、代价函数、输出单元的形式。
除此之外还需要给出下列条件:
由于深度前馈网络引入了隐层的概念,因此需要选择适用于隐层的激活函数。激活函数接受隐层的输入值,给出了隐层的输出值。
深度前馈网络的网络结构也需要给出,其中包括:有多少层网络、每层网络有多少个单元、层级网络之间如何连接。
深度神经网络训练时需要计算复杂函数的梯度,通常这采用反向传播算法(back propagation)和它的现代推广来完成。
损失函数是在机器学习中用于衡量模型预测值与真实值之间差异的一种函数。其作用是指导模型通过调整参数以最小化预测误差。以下是损失函数的一些关键内容:
以上是本次实习的一些基本的内容,在本次实习过程中我们跟随老师的带领,完成了各种项目和实验,老师带着我们分析了代码,告诉我们卷积神经网络的相关算法通过代码可以怎么实现,在老师的带领下,我们完成了,图像的二值化处理,gif动态图的倒放,手写体识别,口罩识别等实验项目。
在完成口罩识别项目后,我们根据口罩识别项目完成了猫狗识别分类的项目。
在进行项目之前我们需要配置相关的实验环境,结合我的实验经历,我推荐使用anaconda3并在anaconda3中配置好虚拟环境,虚拟环境的版本最好在3.7及以下,不然在实验过程中会出现很多问题。
在安装好虚拟环境后,我们可以通过以上命令进入虚拟环境,然后开始安装其他依赖包。
首先我们需要安装labelimg,labelimg建议在虚拟环境中安装,安装使用以下命令:
pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple
在anaconda3中打开虚拟环境然后输入labelimg可以打开标注软件。
创建好图片文件夹和label文件夹就可以开始打标签了。
在images文件夹中放入我们需要进行标注的数据
将标注好的文件进行打包处理把数据拆成训练集、测试集、验证集,我们为了方便,就只需要拆分成训练集和验证集就可以了。在YOLO2COCO\dataset文件下建立一个yolo_mask文件夹,然后将数据移动到此文件夹下。
生成数据集
打开ai studio开始创建项目
创建好项目后点开创建好的项目
点击启动环境
由于我们进去之后需要配置一些环境,所以我们可以选择1算力的进入,后面切换为8算力进行模型训练会快点。
我们需要安装这个东西,建议可以在网上直接下载相关的依赖包,然后上传至环境中,这样会快很多,如果不想找可以通过以下方法安装:
在数据集存放好,然后我们可以开始训练我们的模型了
代码需要根据实际情况进行修改。
将导出的模型进行剪枝处理后我们就基本可以正常使用了然后我们需要进行模型转化,将该模型转化成openvino模型
from openvino.runtime import Core
import openvino.runtime as ov
import cv2 as cv
import numpy as np
import tensorflow as tf
OpenVINO 模型推理器(class)
class Predictor: """ OpenVINO 模型推理器 """ def __init__(self, model_path): ie_core = Core() model = ie_core.read_model(model=model_path) self.compiled_model = ie_core.compile_model(model=model, device_name="CPU") def get_inputs_name(self, num): return self.compiled_model.input(num) def get_outputs_name(self, num): return self.compiled_model.output(num) def predict(self, input_data): return self.compiled_model([input_data]) def get_request(self): return self.compiled_model.create_infer_request()
图像预处理
def process_image(input_image, size):
<
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。