-
NLP与Pytorch09丨使用Pytorch实现手写数字识别
1.思路和流程分析流程: 准备数据,这些需要准备DataLoader 构建模型,这里可以使用torch构造一个深层的神经网络 模型的训练 模型的保存,保存模型,后续持续使用 模型的评估,使用测试集,观察模型的好坏2. 准备训练集和测试集通过前面的内容可知,调用MNIST返回的结果中图形数据是一个Image对象,需要对其进行处理。为了进行数据的处理,接下来了解torchvision.transforms方法。2.1 torchvision.transforms的图形数据处理方法2....…
-
NLP与Pytorch08丨Pytorch的数据加载
一. 模型中使用数据加载器的目的在前面的线性回归模型中,我们使用的数据很少,所以直接把全部数据放到模型中去使用。但是在深度学习中,数据量通常是都非常多,非常大的,如此大量的数据,不可能一次性的在模型中进行向前的计算和反向传播,经常我们会对整个数据进行随机的打乱顺序,把数据处理成一个个的batch,同时还会对数据进行预处理。二. 数据集类2.1 Dataset基类介绍在torch中提供了数据集的基类torch.utils.data.Dataset,继承这个基类,我们能够非常快速的实现对数据的...…
-
NLP与Pytorch07丨梯度下降法及常见的优化算法
一. 梯度下降算法(batch gradient descent BGD)每次迭代都需要把所有样本都送入,这样的好处是每次迭代都顾及了全部的样本,做的是全局最优化,但是有可能达到局部最优。二. 随机梯度下降法 (Stochastic gradient descent SGD)针对梯度下降算法训练速度过慢的缺点,提出了随机梯度下降算法,随机梯度下降算法算法是从样本中随机抽出一组,训练后按梯度更新一次,然后再抽取一组,再更新一次,在样本量及其大的情况下,可能不用训练完所有的样本就可以获得一个损...…
-
NLP与Pytorch06丨调用Pytorch API完成线性回归
一. nn.Modulenn.Module 是torch.nn提供的一个类,是pytorch中自定义网络的一个基类,在这个类中定义了很多有用的方法,让我们在继承这个类定义网络的时候非常简单。当我们自定义网络的时候,有两个方法需要特别注意: __init__需要调用super方法,继承父类的属性和方法 farward方法必须实现,用来定义我们的网络的向前计算的过程用前面的y = wx+b的模型举例如下:from torch import nnclass Lr(nn.Module): ...…
-
NLP与Pytorch05丨手动完成线性回归
一.向前计算对于pytorch中的每个tensor,如果设置它的属性.requires_grad为True,那么它将追踪对于该张量的所有操作。或者可以理解为,这个tensor是一个参数,后续会被计算梯度,更新该参数。tensor(data,requires_grad=True)1.计算过程import torch# 初始化参数xx = torch.ones(2, 2, requires_grad=True)# requires_grad=True用来追踪其计算历史print(x)#ten...…
-
NLP与Pytorch03丨梯度下降和反向传播
一.神经网络介绍1.什么是神经网络神经网络就是一个”万能的模型+误差修正函数“,每次根据训练得到的结果与预想结果进行误差分析,进而修改权值和阈值,一步一步得到能输出和预想结果一致的模型。举一个例子: 比如某厂商生产一种产品,投放到市场之后得到了消费者的反馈,根据消费者的反馈,厂商对产品进一步升级,优化,从而生产出让消费者更满意的产品。这就是神经网络的核心。2.神经网络的本质机器学习可以看做是数理统计的一个应用,在数理统计中一个常见的任务就是拟合,也就是给定一些样本点,用合适的曲线揭示这些样...…
-
NLP与Pytorch03丨Pytorch基本语法
一、什么是PytorchPytorch是一个基于Numpy的科学计算包,向他的使用者提供两大功能: 作为Numpy的替代者,向用户提供使用GPU强大功能的能力。 作为一款深度学习的平台,向用户提供最大的灵活性和速度。 二、Pytorch的基本元素操作1.Tensors张量张量的概念类似于Numpy中的ndarray数据结构,最大的区别在于Tensor可以利用GPU的加速功能。我们使用Pytorch的时候,常规步骤是先将torch引用进来,如下所示: from...…
-
NLP与Pytorch02丨Pytorch介绍与使用
一.Pytorch安装pip3 install torch torchvision torchaudio在ipython中查看pytorch版本二.张量Tensor介绍与使用1.什么是张量张量是一个统称,其中包含很多类型: 0阶张量:标量、常数scaler 1阶张量:向量vector 2阶张量:矩阵natrix 3阶张量. . . 阶指的是一个数组里边形状的个数2.pytorch中创建张量2.1使用python中的列表或者序列创建ten...…
-
NLP与Pytorch01丨深度学习和神经网络的介绍
一. 深度学习的介绍1. 深度学习的概念深度学习(deep learning)是机器学习的分支,是一种以人工神经网络为架构,对数据进行特征学习的算法。2. 深度学习与机器学习区别2.1 从特征提取角度机器学习需要有人工的特征提取的过程深度学习特征提取的过程可以通过深度神经网络自动完成2.2 从数据量角度深度学习需要大量的训练数据集,会有更高的效果深度学习训练深度神经网络需要大量的算力,因为其中有更多的参数3. 深度学习的应用场景3.1 图像识别物体识别场景识别人脸检测跟踪人脸身份验证3.2...…
-
ESH系列08丨焊接孔隙率检测参考实现
全文字数584,预计阅读2min 一、用例介绍该用例介绍了如何在工业质量检测应用中利用AI技术来检测焊接孔隙率。通过利用检测网络模型,对读取到的视频流的帧进行推理分类,可以大大加快孔隙率的检测,让AI更好的服务工业检测应用的场景。二、效果展示三、工作原理数据的输入源可以是已有的图像视频库,也可以是时序数据,也可以从网络摄像头获取实时视频流。通过EII网络消息总线,在OpenVINO的Inference Engine中加载,然后调用Python API来使用...…
-
ESH系列07丨开放边缘洞察(EII)的编译安装
一、EII介绍EII全称Edge Insights for Industrial,是intel开发的一套预先验证的、用于在边缘计算节点上集成视频和时序数据分析的平台。主要面向工业,有助于解决各种工业和制造用途,包括对工厂车间的各种硬件节点进行数据收集、存储和分析。二.演示环境系统:Ubuntu18.04.3LTS网络:913设备:NUC,i5-7200U三、安装存储库工具1.安装curl工具sudo apt updatesudo apt install curl git2.下载repo工具...…
-
OpenVINO系列30丨OpenVINO_Notebooks介绍与使用
一.概述该项目包含一些可以直接运行的Jupyter notebooks,方便我们学习和使用openvino,通过这些提供的sample,我们可以清楚的了解openvino的工作原理,以及如何更轻松的在我们的深度学习程序中用openvino优化推理。二.系统要求运行OpenVINO Notebooks需要预装Python和Git,建议在python虚拟环境中使用。三.了解Notebooks1.clone仓库到本地git clone https://github.com/openvinotoo...…
-
Python系列02 | anaconda常用命令
一.安装与卸载1. 安装anacondabash Anaconda3-2022.02-Linux-x86_64.sh按ENTER继续,输入yes接受协议,并且你会被提示选择安装路径,然后按ENTER确认位置。安装过程将会花费一些时间,并且一旦完成,脚本将会问你是否想要运行conda init。输入yes,Installation finished.Do you wish the installer to initialize Anaconda3by running conda init? ...…
-
Python系列01 | 正则表达式
一.基本使用1.在python中使用正则表达式在Python中需要通过正则表达式对字符串进⾏匹配的时候,可以使⽤⼀个python处理文本的标准库,标准库的意思是这是一个python内置模块,不需要额外下载,名字为re。re模块的使用:import re2.常用元字符 Parameter Description . 匹配任意1个字符(除了\n) [] 匹配[ ]中列举的字符 ...…
-
OpenVINO系列29丨OpenVINO_TensorFlow介绍与使用
一.介绍1.openvino_tensorflow插件介绍openvino_tensorflow是为尝试把openvino用于推理应用中的tensorflow开发者们设计的。原理是通过OpenVINO的内联优化,只需少量代码的改动就可以显著提高其推理性能。该仓库展示了对TensorFlow的良好兼容性,可以对众多的AI模型起到加速效果。2.在哪些计算单元有加速效果? 英特尔 CPU 英特尔集成 GPU 英特尔 Movidius视觉处理单元,通常称为 VPU 采用 8 个英特尔 Mo...…
-
TDengine系列02丨TDengine物理节点的集群搭建
全文字数2465,预计阅读10min 一.前言出于对技术选型的验证评估,我们想搭建一个容器化的Tdengine集群。但是官方文档说不建议在生产环境中部署容器化集群。问了下技术人员,回复说容器化的部署会损失部分性能,具体损失百分之多少,由于docker资源是灵活分配的,不好做标准评估。所以先搭建一个物理集群,熟悉一下集群配置的具体流程,为容器化的集群应用做准备。二.集群相关概念介绍1.什么是FQDNFQDN(fully qualified domain na...…
-
TDengine系列01丨Telegraf+TDengine+Grafana搭建监控系统
一.常用的监控系统方案有哪些?各自有什么优缺点?1.常见的系统服务监控方案有下面几种:方案1:Exporter + prometheus + Grafana方案2:Telegraf + prometheus + Grafana方案3:Telegraf + TDengine + Grafana方案4:Telegraf + InfluxDB + Grafana2.Exporter和Telegraf的比较?Exporter是Prometheus的一类数据采集组件的总称。它负责从目标处搜集数据,并...…
-
机器学习系列21丨特征降维
一.特征降维介绍1.定义是指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程。简单来说就是改变特征值,选择哪列保留,哪列删除 降低随机变量的个数 相关特征 比如相对湿度与降雨量之间的相关 我们都是使用特征进行训练学习,如果特征本身存在问题或者特征之间相关性较强,对于算法学习预测会影响较大。2.降维两种方式 特征选择 主成分分析(可以理解一种特征提取的方式) 二.特征选择2.1定义数据中包含冗余或无关变量(或...…
-
机器学习系列20丨聚类算法
一.聚类算法简介1.概念一种典型的无监督学习算法,主要用于将相似的样本自动归到一个类别中。在聚类算法中根据样本之间的相似性,将样本划分到不同的类别中,对于不同的相似度计算方法,会得到不同的聚类结果,常用的相似度计算方法有欧式距离法。使用不同的聚类准则,产生的聚类结果不同。2.应用 用户画像,广告推荐,Data Segmentation,搜索引擎的流量推荐,恶意流量识别 基于位置信息的商业推送,新闻聚类,筛选排序 图像分割,降维,识别;离群点检测;信用卡...…
-
机器学习系列19丨集成学习
一.集成学习算法简介1.什么是集成学习集成学习通过建立几个模型来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测。2.机器学习的两个核心任务3.集成学习中boosting和Bagging只要单分类器的表现不太差,集成学习的结果总是要好于单分类器的。二.Bagging和随机森林1.bagging集成过程1.采样:从原有样本里面,采样一部分2.学习:训练弱学习器3.集成:使用平权投票2.随机森林定义在机...…