深度学习
文章平均质量分 72
深度学习相关应用
TU商
人工智能、机器视觉从业者
展开
-
pytorch 优化训练显存方式
一般在训练神经网络时,显存主要被网络模型和中间变量占用。 网络模型中的卷积层,全连接层和标准化层等的参数占用显存,而诸如激活层和池化层等本质上是不占用显存的。 中间变量包括特征图和优化器等,是消耗显存最多的部分。 其实 pytorch 本身也占用一些显存的,但占用不多,以下方法大致按照推荐的优先顺序。原创 2024-01-30 20:30:00 · 1297 阅读 · 0 评论 -
ubuntu20.0 跑 paddle :ImportError: /opt/anaconda3/envs/paddle_pz/lib/python3.7/site-packages/paddle/
建议用代理运行,不然比较慢。原创 2023-07-12 15:46:37 · 800 阅读 · 3 评论 -
Pytorch init定义的网络结构层能否在forward中重复使用?
参考。原创 2023-05-26 21:00:00 · 290 阅读 · 0 评论 -
《AI在工业机器视觉检测中的应用123》(1.1) 目标检测样本类别不平衡的问题(持续更新...)
类别不平衡(class-imbalance),也叫数据倾斜,数据不平衡,就是指分类任务中不同类别的训练样例数目差别很大的情况。在现实的分类学习任务中,我们经常会遇到类别不平衡,例如交易欺诈、广告点击率预测、病毒脚本判断等;或者在通过拆分法解决多分类问题时,即使原始问题中不同类别的训练样例数目相当,在使用OvR(One vs. Rest)、MvM(Many vs. Many)策略后产生的二分类任务仍然可能出现类别不平衡现象。原创 2023-03-02 10:38:14 · 823 阅读 · 0 评论 -
《AI在工业机器视觉检测中的应用123》(1.3)目标检测问题记录
(2)降低极小目标和大目标的类间不平衡。锚框设计难以获得平衡小目标召回率与计算成本之间的矛盾,而且这种方式导致了小目标的正样本与大目标的正样本极度不均衡,使得模型更加关注于大目标的检测性能,从而忽视了小目标的检测。(3)减小数据集里面同一类别里面目标特征的差异,例如将线状特征,点状特征,椭圆状特征的异物都标注为异物,这样是错误的,可以将其分别标注为线状异物,点状异物,椭圆状异物。(1)训练和推理时 将大分辨率图切割成小图(例如切割为320*320),模型输入分辨率设置为640*640,甚至更大。原创 2023-03-22 09:29:57 · 305 阅读 · 0 评论 -
【AIGC大模型】跑通wonder3D (windows)
先跑通开源工程代码原创 2024-02-25 15:48:20 · 1440 阅读 · 1 评论 -
《AI在工业机器视觉检测中的应用123》(1.2)目标检测模型训练 样本少的类别 反而recall和AP比较高?
此外,有时候数据不平衡也会导致一些类别训练得比其他类别更好。在目标检测中,某些类别可能在真实世界中出现的频率较低,因此在训练集中也缺乏大量的样本。这种情况可能是由于样本少的类别在训练过程中得到了更多的注意和重视,从而导致模型对其表现更好。因为训练集中样本数量较少,对于这些类别来说,它们在训练时能够接收到更多的反馈信号,从而使得模型学到的特征更加准确。因此,在评估模型性能时,需要结合多个指标进行综合考虑,而不是仅仅关注单一指标。因此,在评估模型性能时,需要结合多个指标进行综合考虑,而不是仅仅关注单一指标。原创 2023-03-13 10:06:09 · 198 阅读 · 0 评论 -
Transformer Vit Bert 的定义,区别和联系
通过自注意力机制,ViT可以捕捉图像中不同图块之间的全局关系,并在编码器输出后接一个MLP(多层感知机)进行分类任务。它根据每个位置与其他位置的相对重要性,为每个位置计算一个权重向量,然后将每个位置的信息进行加权求和。Bert通过先对大量未标记的文本进行预训练来学习通用的语言表示,然后通过在特定任务上进行微调来适应具体任务。它们都充分利用了Transformer模型中的自注意力机制、多层感知机和编码器结构等核心概念,并在各自领域展现了出色的性能。下面我将详细讨论它们的定义、区别和联系。原创 2023-06-21 20:30:00 · 1530 阅读 · 0 评论 -
pytorch训练模型pth导出为onnx ,再简化onnx模型
model=torch.load("/home/shangzaixing/code/LaneNet-PyTorch-RNN/pytorch-crnn.pth")#pytorch模型加载。export_onnx_file="/home/shangzaixing/code/LaneNet-PyTorch-RNN/pytorch-crnn.onnx"#目标ONNX文件名。dynamic_axes={"input":{0:"batch_size"},#批处理变量。batch_size=1#批处理大小。原创 2023-05-26 20:45:00 · 931 阅读 · 0 评论 -
ubuntu22.04 安装mmocr报错 :ERROR: Failed building wheel for lanms-neo
gcc: fatal error: cannot execute ‘cc1plus’: execvp: 没有那个文件或目录 compilation terminated。只需要安装build-essential即可,作用是提供编译程序必须软件包的列表信息。cc1plus.exe是Bloodshed Dev-C++的C++针对这个报错信息,网上搜索解决办法,并没有解决问题。用于该软件对C++程序的编译功能。报错的信息的意思大概是“缺少。安装C++ 编译环境。原创 2023-03-31 09:30:39 · 663 阅读 · 0 评论 -
DFR: Deep Feature Reconstruction for Unsupervised Anomaly Segmentation 用于无监督异常分割的深度特征重建
DFR: Deep Feature Reconstruction for Unsupervised Anomaly SegmentationDFR:用于无监督异常分割的深度特征重建类型:公开 原文:https://tongtianta.site/oss/paper_pdf/ccf44eb8-bad0-11eb-872a-00163e0d281a_ecb913b8dd2e9e210986f14a375232d3.pdfJie Yang, Yong Shi, ZhiQuan Qi杨洁,石勇,齐志权Ab翻译 2023-02-01 16:48:04 · 2284 阅读 · 0 评论 -
pip 镜像源
pip install -i http://pypi.mirrors.ustc.edu.cn/simple/ --trusted-host pypi.mirrors.ustc.edu.cn '模块版本'pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com '模块版本'原创 2023-01-30 17:08:30 · 130 阅读 · 0 评论 -
18种热门GAN的PyTorch开源代码 | 附论文地址
这种模型简称AAE,是一种概率性自编码器,运用GAN,通过将自编码器的隐藏编码向量和任意先验分布进行匹配来进行变分推断,可以用于半监督分类、分离图像的风格和内容、无监督聚类、降维、数据可视化等方面。这种变体能够用两组不同域的无标签图像来训练图像翻译器,架构中的主要GAN学习将图像从域U翻译到域V,而它的对偶GAN学习一个相反的过程,形成一个闭环。最小平方GAN(LSGAN)的提出,是为了解决GAN无监督学习训练中梯度消失的问题,在鉴别器上使用了最小平方损失函数。半监督生成对抗网络简称SGAN。转载 2022-12-20 15:00:03 · 1015 阅读 · 0 评论 -
相似向量检索库-Faiss-简介及原理
Faiss全称(Facebook AI Similarity Search)是Facebook AI团队开源的针对聚类和相似性搜索库,为稠密向量提供高效相似度搜索和聚类,支持十亿级别向量的搜索,是目前较成熟的近似近邻搜索库。版权声明:本文为CSDN博主「金色麦田~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。除此以外,对一些核心算法提供了GPU实现。它包含多种搜索任意大小向量集(备注:向量集大小由RAM内存决定)的算法,以及用于算法评估和参数调整的支持代码。原创 2022-12-15 10:08:10 · 791 阅读 · 0 评论 -
Grad-CAM简介-网络 热力图分析
对于常用的深度学习网络(例如CNN),普遍认为是个黑盒可解释性并不强(至少现在是这么认为的),它为什么会这么预测,它关注的点在哪里,我们并不知道。这里我们简单看下Image Classification任务,首先网络进行正向传播,得到特征层A AA(一般指的是最后一个卷积层的输出)和网络预测值y yy(注意,这里指的是softmax激活之前的数值)。版权声明:本文为CSDN博主「太阳花的小绿豆」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。接着对y c y^cy。原创 2022-12-15 09:57:39 · 1726 阅读 · 0 评论 -
【神经网络深度学习】--常见损失函数
(2)一般的 f(x) 是预测值,在-1到1之间, y 是目标值(-1或1)。其含义是, f(x) 的值在-1和+1之间就可以了,并不鼓励 |f(x)|>1 ,即并不鼓励分类器过度自信,让某个正确分类的样本距离分割线超过1并不会有任何奖励,从而。因为sigmoid的性质,导致 σ′(x) 在 z 取大部分值时会很小(如下图标出来的两端,几乎接近于平坦),这样会使得 η(a−y)σ′(z) 很小,导致参数 w 和 b 更新非常慢。的本质就是衡量在某个参数下,整体的估计和真实的情况一样的概率,越大代表越相近。转载 2022-10-25 18:02:53 · 1833 阅读 · 0 评论 -
【神经网络深度学习】 --激活函数
激活函数(activation function)又称非线性映射函数或是隐藏单元,是神经网络中中最主要的组成部分之一。数据的分布绝大多数是非线性的,而一般神经网络的计算是线性的,引入激活函数,是在神经网络中引入非线性,强化网络的学习能力。所以激活函数的最大特点就是非线性。现阶段的激活函数多种多样,对应着不同的特性。实际建模过程中,当我们需要实现不同功能时,所需要的激活函数往往也不尽相同。所以掌握各种激活函数的特性,才能在工作中按需选择、信手拈来。转载 2022-10-25 17:22:28 · 951 阅读 · 0 评论 -
【深度学习神经网络】--BatchNorm详解
所以每个隐层都会面临 "covariance shift" 的问题 --- 这就是所谓的"Internal Covariance Shift",Internal指的是深层网络的隐层,是发生在网络内部的事情,而不是covariance shift问题只发生在输入层。其主要描述的是训练深度网络的时候经常发生训练困难的问题。随着网络训练的进行, 每个隐层的参数变化使得后一层的输入发生变化->每批训练数据的分布也随之改变->致使网络在每次迭代中都需要拟合不同的数据分布->增大训练的复杂度以及过拟合的风险。转载 2022-10-25 17:14:34 · 1719 阅读 · 0 评论 -
【深度学习神经网络】--卷积神经网络 CNN与LeNet5详解(可训练参数量、计算量、连接数的计算+项目实战)
原文链接:https://blog.csdn.net/qq_37555071/article/details/107629340。转载 2022-10-25 16:00:19 · 2254 阅读 · 1 评论 -
【深度学习神经网络】--CRNN
我们知道 RNN 在每一个时间步的输出为所有字符类别的概率分布,即一个包含每个字符分数的向量,我们取其中最大概率的字符作为该时间步的输出字符,然后将所有时间步得到一个字符进行拼接得到一个序列路径,即最大概率路径,再根据上面介绍的合并序列方法得到最终的预测文本结果。如上图,对于最简单的时序为 2 的字符识别,有两个时间步长(t0,t1)和三个可能的字符为“a”,“b”和“-”,我们得到两个概率分布向量,如果采取最大概率路径解码的方法,则“--”的概率最大,即真实字符为空的概率为0.6*0.6=0.36。转载 2022-10-24 13:33:21 · 2207 阅读 · 0 评论 -
【神经网络深度学习】--梯度消失and爆炸的原因及解决方案
具体来说就是反向传播中,经过每一层的梯度会乘以该层的权重,举个简单例子: 正向传播中f3=f2(wT∗x+b),那么反向传播中,∂f2∂x=∂f2∂f1w,反向传播式子中有w的存在,所以w的大小影响了梯度的消失和爆炸,batchnorm就是通过对每一层的输出做scale和shift的方法,通过一定的规范化手段,所以产生影响的就是刚刚提的三个因素。所以 |σ′(z)w|≤0.25 ,多个小于1的数连乘之后,那将会越来越小,导致靠近输入层的层的权重的偏导几乎为0,也就是说几乎不更新,这就是梯度消失的根本原因。转载 2022-10-21 17:59:04 · 4089 阅读 · 2 评论 -
(神经网络深度学习)--循环神经网络LSTM
如果你经过上面的文章看懂了RNN的内部原理,那么LSTM对你来说就很简单了,首先大概介绍一下LSTM,是四个单词的缩写,Long short-term memory,翻译过来就是长短期记忆,是RNN的一种,比普通RNN高级(上面讲的那种),基本一般情况下说使用RNN都是使用LSTM,现在很少有人使用上面讲的那个最基础版的RNN,因为那个存在一些问题,LSTM效果好,当然会选择它了!二、为什么LSTM比普通RNN效果好?转载 2022-10-21 17:42:36 · 9318 阅读 · 1 评论 -
【神经网络深度学习】--循环神经网络RNN
但是很明显,一个句子中,前一个单词其实对于当前单词的词性预测是有很大影响的,比如预测苹果的时候,由于前面的吃是一个动词,那么很显然苹果作为名词的概率就会远大于动词的概率,因为动词后面接名词很常见,而动词后面接动词很少见。不知道初学的同学能够理解这个图吗,反正我刚开始学习的时候是懵逼的,每个结点到底代表的是一个值的输入,还是说一层的向量结点集合,如何隐藏层又可以连接到自己,比如,当我们在理解一句话意思时,孤立的理解这句话的每个词是不够的,我们需要处理这些词连接起来的整个序列;s是一个向量,它表示。转载 2022-10-21 17:32:30 · 1744 阅读 · 0 评论 -
【神经网络深度学习】--语义分割 Unet
Unet 发表于 2015 年,属于 FCN 的一种变体。Unet 的初衷是为了解决生物医学图像的问题,由于效果确实很好后来也被广泛的应用在语义分割的各个方向,如卫星图像分割,工业瑕疵检测转载 2022-10-21 13:57:18 · 1472 阅读 · 0 评论 -
【目标跟踪】--deepsort
DeepSORT是SORT多目标跟踪算法的改进版本,设计了一种新的关联方式,提高了对长时间遮挡的对象追踪的准确率,减少了Id频繁切换的现象。原创 2022-10-21 11:39:04 · 2689 阅读 · 1 评论 -
深入浅出Yolo系列之Yolov5核心基础知识完整讲解 转自江大白【侵删】
Yolov5官方代码中,给出的目标检测网络中一共有4个版本,分别是Yolov5s、Yolov5m、Yolov5l、Yolov5x四个模型。学习一个新的算法,最好在脑海中对算法网络的整体架构有一个清晰的理解。但比较尴尬的是,Yolov5代码中给出的网络文件是yaml格式,和原本Yolov3、Yolov4中的cfg不同。如需下载Yolov5整体的4个网络pt文件及onnx文件,也可点击链接查看下载,便于直观的学习。安装好netron工具,就可以可视化的打开Yolov5的网络结构。这里大白也和之前讲解Yolov3转载 2022-10-21 11:24:52 · 3320 阅读 · 2 评论 -
语言模型-BERT
哪些单词是原始的样?正是在这样一种高度确定的情况下, 反倒逼着模型快速学习该token的分布式上下文的语义, 尽最大努学习原始语言说话的样子!如下图所示, 最左边的就是BERT的架构图,可以很清楚的看到BERT采用了Transformer Encoder block进行连接, 因为是一个典型的双向编码模型。,包括将GLUE基准推高至80.4% (绝对改进7.6%),MultiNLI准确度达到86.7% (绝对改进5.6%),成为NLP发展史上的里程碑式的模型成就。·50%的B是原始本中实际跟随A的下句话。转载 2022-10-21 11:06:41 · 293 阅读 · 0 评论 -
【神经网络深度学习】-激活函数
激活函数(Activation functions)对于人工神经网络模型去学习、理解非常复杂和非线性的函数来说具有十分重要的作用。它们将非线性特性引入到我们的网络中。其主要目的是将A-NN模型中一个节点的输入信号转换成一个输出信号。该输出信号现在被用作堆叠中下一个层的输入。如果我们不运用激活函数的话,则输出信号将仅仅是一个简单的线性函数。线性函数一个一级多项式。现如今,线性方程是很容易解决的,但是它们的复杂性有限,并且从数据中学习复杂函数映射的能力更小。一个没有激活函数的神经网络将只不过是一个线性回归模型(转载 2022-10-21 09:59:35 · 822 阅读 · 0 评论 -
coco 数据集 标签 80种类 中英文对照
原创 2022-03-23 13:52:21 · 2691 阅读 · 0 评论 -
win10+vs2015+CUDA10.1+CUDNN7 编译运行 openpose
环境 win10+vs2015+CUDA10.1+CUDNN7 Cmake 3.19.2显卡 :NVIDIA RTX 2060一.GitHub - CMU-Perceptual-Computing-Lab/openpose at v1.7.0下载好源码后解压好待用二. 各种依赖安装1. 运行…/openpose-master/models/中的getModels.bat 下载所需的模型(如果后面报错 调用模型失败 ,请参考github源码 下的说明手动下载相关模型)...原创 2022-02-28 18:20:24 · 292 阅读 · 0 评论 -
Yolov4调用问题: CUDA Error: invalid argument: 成功 Opencv341Yolov4D: ./src/util
环境 X86架构 Ubuntu18.04 Opencv4.4 Yolov4 显卡 RTX2060 CUDA 11.2 CUDNN 8.1构造Detector {}};CUDA Error: invalid argument: 成功 Opencv341Yolov4D: ./src/util一、Darknet编译使用GPU要求显卡是Nvidia卡并且正确安装了CUDA。GPU环境下的编译配置都是在 /darknet/Makefile 文件中定义的,GPU环境的编译有3点更改需要注意。原创 2021-10-28 20:28:51 · 1680 阅读 · 0 评论 -
Yolo v4 目标检测测试demo 模特大赛 (20201220 by shany shang)
yolo v4 模特大赛 test (如有侵权,请及时联系)环境:Win10 家庭中文版Opencv 4.1.0VS2015Yolo v4Cmake_guiCUDA 10.1Cudnn 7.6.3素材:珠海xxx模特大赛素材来自网路,如有侵权,请及时联系本人删除...原创 2020-12-20 12:55:44 · 228 阅读 · 1 评论 -
无监督学习 python AE tensorflow opencv搭建3层编码解码AutoEncoder神经网络
默认 已安装好 python、tensorflow、opencv等环境一、主程序 AutoEncoder.py# -*- coding: utf-8 -*-"""# _*_ coding:utf-8 _*_#进行Autoencoder网络测试(3层半网络)#3层编码 3层解码#开始日期: 20200909#开发及测试人:shany 商"""from __future__ import division, print_function, absolute_import...原创 2020-11-03 15:22:53 · 404 阅读 · 0 评论 -
无监督学习 Autoencouder 第一步 生成像Minist那样的数据集(20200601) by shany
无监督学习 ---生成像Minist那样的数据集 借助Opencv 将 固定大小的图片生成数据集,包括训练集和测试集 需要仔细看代码 了解运行过程,然后注意文件夹和图片路径的设置一、主程序.cpp#include "Image_to_BinaryData.h"int main(){ Image2BinaryData IBD(800,800); //设置图片大小(Heigh...原创 2020-11-03 15:09:45 · 350 阅读 · 0 评论 -
halcon19 深度学习--分类(by shany shang)
硬件环境:Think_pad T480GPU:英伟达 MX150CPU: Intel i5 8th软件环境:windows 10 X64halcon 19.05halcon deepleaening 19.05CUDA10CUDNN7.3源代码:This example shows how to train a deep learning fruit classifier,...原创 2019-07-30 19:59:32 · 5819 阅读 · 0 评论 -
Tensorflow深度学习-分类(基于Python)(by shany shang)
源码:import tensorflow as tffrom tensorflowimport kerasimport numpy as npimport matplotlib.pyplot as pltprint(tf.version)fashion_mnist = keras.datasets.fashion_mnist(train_images, train_labels), ...原创 2019-07-30 20:44:08 · 223 阅读 · 0 评论 -
深度学习神经网络-batchnorm 理解 -python+tensorflow(by shany shang)
batchnorm:即对一个batch进行normlize的动作,即是 归一化yi=BN(x)一、步骤如下:1.先求出此次批量数据X的均值:2.再求出数据X的方差:3.归一化:4.线性变换:二、代码如下:代码来自知乎,这里加入注释帮助阅读。def batch_norm_layer(x, train_phase, scope_bn): ...原创 2019-08-13 11:17:30 · 539 阅读 · 0 评论 -
深度学习 Relu 函数 (by shany shang)
激活函数所在的位置: 图1激活函数:在神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数,这个函数就是激活函数。引入激活函数是为了增加神经网络模型的非线性。没有激活函数的每层都相当于矩阵相乘。就算你叠加了若干层之后,无非还是个矩阵相乘罢了。ReLU函数:...原创 2019-08-13 11:39:56 · 1024 阅读 · 0 评论 -
深度学习(分类)神经网络搭建基本流程(by shany shang)
深度学习以下是深度学习进行基本分类的流程:准备阶段: 使用labelimg 对图像样本进行标注并分类,最后生成 训练数据集,测试数据集和验证数据集第一步: 初始化 深度学习环境第二步: 导入训练数据集,训练数据集标签,测试数据集,测试数据标签,验证数据集,验证数据集标签第三步: 执行图像数据预处理(结合传统图像预处理算法)第四步: 构建神经网络层模型a、数据格式化b、构建多层神...原创 2019-07-30 19:40:01 · 1855 阅读 · 0 评论