在神经网络模型训练时,有时候我们需要共享不同模型之间的网络参数,下面我将以一个案例展示一下如何共享模型训练参数。 ⭐参数共享模块的模型结构必须完全一致才能实现参数共享 一. 指定共享某一模块 假设我们有以下两个模型: class ANN1(nn.Module): def __init__(self,features): super(ANN1, self).__i
报错信息 在程序中我的损失函数定义如下所示: loss = nn.CrossEntropyLoss(reduction='none') 但在执行loss.backward()时出现了下面这条报错信息: RuntimeError: grad can be implicitly created only for scalar outputs 原因分析 在定义损失函数loss时,我们设置
问题背景 有些时候在定义模型的时候,有一部分的模型结构的是完全相同的,但是模型的数量是一个可以人为控制的变量。比如在多任务学习中,如图所示,输出任务的数量是一个可以人为控制的变量,Tower层的数量随着任务数量的变化而变化。 当任务很少时,我们可以简单的定义为: self.TowerA = xxx self.TowerB = xxx ··· 但是当任务很多的时候,一个一个定义非
前言 SSH(Secure Shell)是一种用于远程登录和安全传输数据的网络协议。它提供了两种主要的远程连接方式: 1、密码认证:使用用户名和密码进行身份验证。在这种方式下,用户需要提供正确的用户名和密码才能成功连接到远程主机。这是最常见的认证方式,但安全性较低,因为密码可能会被猜测或通过网络截获。 2、公钥认证:使用公钥和私钥进行身份验证。在这种方式下,用户需要生成一对密
前言 本次项目所用到的四轮小车模型如下 该四轮小车的模型搭建过程请阅读我的上一篇文章:https://blog.csdn.net/cyj972628089/article/details/107009528(Webots学习笔记—四轮小车的模型搭建和简单控制) 距离传感器的介绍 本项目用到的是Base nodes下的DistanceSensor节点,关于这个节点的详细介绍请大家自行查阅
PaddleOCR手写文字识别 一. 项目背景 二. 环境配置 三. 数据构造 四. 模型微调 五. 串联推理 六. 注意事项 七. 参考文献 光学字符识别(Optical Character Recognition, OCR),ORC是指对包含文本资料的图像文件进行分析识别处理,获取文字及版面信息的技术,检测图像中的文本资料,并且识别出文本的内容。 PaddleOC
前言 RGB色彩空间是一种被广泛接受的色彩空间,但是该色彩空间过于抽象,我们不能够直接通过其值感知具体的色彩。我们更习惯使用直观的方式来感知颜色,HSV色彩空间提供了这样的方式。通过HSV色彩空间,我们能够更加方便地通过色调、饱和度和亮度来感知颜色。 其实,除了HSV色彩空间,我们讨论的其他大多数色彩空间都不方便人们对颜色进行理解和解释。 基础知识 HSV色彩空间从心理学和视觉的角度出发,
一. 问题背景 在我的项目中,Java基于Easyexcel读取到Excel的值全都是String类型的(没有使用数据结构类),尽管Excel中数字为数值类型,Easyexcel也会读取为String类型返回。当我想将读取到的数据另存为另一个Excel文件时,它写入Excel文件的数值依然是字符串形式的,这将导致我在Excel中没办法对数据进行数值相关函数的计算。 因此,我需要在程序中将所有S
本文作为自己阅读论文后的总结和思考,不涉及论文翻译和模型解读,适合大家阅读完论文后交流想法。 一. 全文总结 在MMoE的基础上改进,提出了全新的多任务学习框架Progressive Layered Extraction(PLE),通过分离Shared Experts和Task-Specific Experts,逐层提取深层信息,有利于解决多任务学习中的负迁移问题和跷跷板问题 二
本文作为自己阅读论文后的总结和思考,不涉及论文翻译和模型解读,适合大家阅读完论文后交流想法,关于论文翻译可以查看参考文献。论文地址:https://arxiv.org/abs/1704.04110 一. 全文总结 本文中提出了DeepAR,一种产生准确概率预测的方法,基于在大量相关时间序列上训练一个自回归递归网络模型。本文展示了如何通过将深度学习技术应用于概率预测,克服广泛使用的经典方
一. 前言 Tablesaw是一款Java的数据可视化库,主要包括两部分: 数据解析库,主要用于加载数据,对数据进行操作(转化,过滤,汇总等),类比Python中的Pandas库; 数据可视化库,将目标数据转化为可视化的图表,类比Python中的Matplotlib库。与Pandas不同的是,Tablesaw中的表格以列(Column)为基本单位,因此大部分操作都是基于列进行的。当然也包
本文作为自己阅读论文后的总结和思考,不涉及论文翻译和模型解读,适合大家阅读完论文后交流想法。 一. 全文总结 提出了一种基于**多门混合专家(MMoE)**结构的多任务学习方法,验证了模型的有效性和可训练性。 二. 研究方法 构造了可以人为控制相关性的合成数据集,比较了Share-Bottom、OMoE、MMoE在不同相关系数任务下的训练精度。最后,对真实的基准数据和具有数亿用
一. 前言 在MMoE论文中,作者人工生成了可以控制不同任务之间相关系数的数据集,并观察不同模型在不同相关系数的多任务学习中的模型效果,如下所示: 文中作者给出了数据集生成的数学表达: 下面用程序实现以上过程。 二. 程序实现 from scipy.linalg import * import numpy as np from tqdm import * import ma
问题背景 在利用Tablesaw进行数据分析和处理后,我想要将所有的表格数据存入同一个.xlsx文件的不同sheet当中。但是Tablesaw只支持将表格写入.csv文件,因此我就需要将.csv文件中的数据读取后存入.xlsx的指定sheet当中。 本文基于EasyExcel库实现上述功能,关于EasyExcel的介绍、安装和基本操作参考: 【亲测可用】Java基于EasyExcel将数
本文作为自己阅读论文后的总结和思考,不涉及论文翻译和模型解读,适合大家阅读完论文后交流想法,关于论文翻译可以查看参考文献。论文地址:https://arxiv.org/abs/1711.11053 一. 全文总结 本文提出了一个一般概率多步时间序列回归的框架。具体来说,本文利用了seq2seq神经网络的表达性和时间性质(例如,递归和卷积结构),分位数回归的非参数性质和Direct Mu
本文作为自己阅读论文后的总结和思考,不涉及论文翻译和模型解读,适合大家阅读完论文后交流想法,关于论文翻译可以查看参考文献。论文地址:https://arxiv.org/abs/1809.04206 一. 全文总结 本文提出使用一组滤波器来提取时不变的时间模式(CNN),类似于将时间序列数据转换为其“频域”。然后,我们提出了一种新的注意力机制来选择相关的时间序列,并利用其频域信息进行多元
安装PaddleHub和模型 pip install paddlehub -i https://mirror.baidu.com/pypi/simple hub install pyramidbox_lite_mobile_mask==1.3.0 模型概述:PyramidBox-Lite是基于2018年百度发表于计算机视觉顶级会议ECCV 2018的论文PyramidBox而研发
数据的标注 PaddleDetection所使用的数据为VOC格式,使用labelimg作为标注工具,标注工具的下载安装见链接:https://zhuanlan.zhihu.com/p/9780704 下面以水果分类为例,演示一下数据标注过程,原始图片数据如下图所示: 打开软件,并导入图片: 选取标注文件的保存路径: 点击Create\nRectBox—框选目标–命名(下图中命名为a
本项目手把手带你实现了在树莓派端基于视频流的水果分类。 目录 1. VOC数据集的准备 2. 水果分类模型的训练 3. 树莓派上摄像头的调试和配置 4. 跑通Paddle-Lite-Demo 5. 部署水果分类的模型 5.1 在AI studio上准备模型文件 5.1.1 导出模型文件 5.1.2 输出一个可执行模型
在完成智能车自主巡航任务时,我们需要采集车道线数据。即前向摄像头拍摄车道线图片,并与小车此时的转弯系数对应起来。车道线图片命名方式为 0.jpg、1.jpg、2.jpg··· 。图片对应的转弯系数则保存到.json文件中,文件内容为 {“0”: 0.jpg对应的转弯系数, “1”: 1.jpg对应的转弯系数, “2”: 2.jpg对应的转弯系数, ···}。为了能让不同时刻采集的数据拼接成一个
目录 摄像头的配置 测试摄像头设备 1. USB摄像头 2. CSI摄像头 拍摄一张图片 1. USB摄像头 2. CSI摄像头 安装V4L2驱动使OpenCV能够识别摄像头 摄像头的配置 执行命令: sudo raspi-config 进入设置页面后,之后按照下面步骤设置: 选择 Int
PaddleDetection 是飞桨推出的物体检测统一框架。支持现有的RCNN、SSD、YOLO等系列模型、支持 ResNet、ResNet-VD、ResNeXt、ResNeXt-VD、SENet、MobileNet、DarkNet等主干网络。 数据集准备 PaddleDetection所使用的数据为VOC格式,VOC数据集的准备可以参考下面这篇文章:https://blog.csdn.ne
网上有很多MPU9250的例程,总体上都大同小异。但是对于如何将读取到的原始角速度和加速度数据转换为真实数据,基本都没有提及。秉承着会用就行的态度,这篇文章不会对MPU9250的IIC通讯方式做详细说明,主要讲解如何将读取到的数据转换为我们想得到的真实数据。 MPU9250介绍 MPU9250 内部集成有 3 轴陀螺仪、3 轴加速度计和 3 轴磁力计,输出都是 16 位的数字量; 可以通过集成
1. PS2手柄介绍 ps2 手柄由手柄与接收器两部分组成,手柄主要负责发送按键信息;接收器与单片机(也可叫作主机,可直接用在PS2 游戏机上)相连,用于接收手柄发来的信息,并传递给单片机,单片机也可通过接收器,向手柄发送命令,配置手柄的发送模式。 2. 使用说明 DI/DAT:信号流向,从手柄到主机,此信号是一个8bit 的串行数据,同步传送于时钟的下降沿。信号的读取在时钟由高到
1. 编码器概述 编码器是一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感 器,我们可以通过编码器测量到底位移或者速度信息。编码器从输出数据类型上 分,可以分为增量式编码器和绝对式编码器。 从编码器检测原理上来分,还可以分为光学式、磁式、感应式、电容式。常 见的是光电编码器(光学式)和霍尔编码器(磁式)。 2. 编码器原理 光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换
1. 直流电机原理 下面是分析直流电机的物理模型图。其中,固定部分有磁铁,这里称作主磁极;固定部分还有电刷。转动部分有环形铁心和绕在环形铁心上的绕组。(其中2 个小圆圈是为了方便表示该位置上的导体电势或电流的方向而设置的) 它的固定部分(定子)上,装设了一对直流励磁的静止的主磁极N 和S,在旋转部分(转子)上装设电枢铁心。在电枢铁心上放置了两根导体连成的电枢线圈,线圈的首端和末端分别连到两个圆
当我们要预测的是一个离散值时,做的工作就是“分类”。机器学习模型还可以将训练集中的数据划分为若干个组,每个组被称为一个“簇(cluster)”。它的重要特点是在学习过程中不需要用标签对训练样本进行标注。也就是说,学习过程能够根据现有训练集自动完成分类(聚类)。 OpenCV学习笔记(十七) 根据训练数据是否有标签,我们可以将学习划分为监督学习和无监督学习。前面介绍的K近
MediaPipe 是一款由 Google Research 开发并开源的多媒体机器学习模型应用框架,可以直接调用其API完成目标检测、人脸检测以及关键点检测等。本篇文章介绍其手部21个关键点检测。官方文档:https://google.github.io/mediapipe/solutions/hands.html 一. 关键函数解释 (1)mediapipe.solutions
在梯度下降更新参数的时,我们往往需要定义一个学习率来控制参数更新的步幅大小,常用的学习率有0.01、0.001以及0.0001等,学习率越大则参数更新越大。一般来说,我们希望在训练初期学习率大一些,使得网络收敛迅速,在训练后期学习率小一些,使得网络更好的收敛到最优解。因此我们常常需要动态的学习率。 ⭐参考:https://pytorch.org/docs/master/optim.htm
人脸识别是指程序对输入的人脸图像进行判断,并识别出其对应的人的过程。人脸识别程序像我们人类一样,“看到”一张人脸后就能够分辨出这个人是家人、朋友还是明星。当然,要实现人脸识别,首先要判断当前图像内是否出现了人脸,也即人脸检测。只有检测到图像中出现了人脸,才能根据人脸判断这个人到底是谁。本文分别介绍人脸检测和人脸识别的基本原理,并分别给出了使用OpenCV 实现它们的简单案例。
K 近邻算法是最简单的机器学习算法之一,主要用于将对象划分到已知类中,在生活中被广泛使用。例如,教练要选拔一批长跑运动员,如何选拔呢?他使用的可能就是K 近邻算法,会选择个子高、腿长、体重轻,膝、踝关节围度小,跟腱明显,足弓较大者作为候选人。他会觉得这样的孩子有运动员的潜质,或者说这些孩子的特征和运动员的特征很接近。 内容列表 1. 理论基础 2. 计算 3
本节介绍了如何在图像上绘制图形,并且如何用鼠标和滚动条实现用户交互。 1. 绘画基础 OpenCV 提供了绘制直线的函数cv2.line()、绘制矩形的函数cv2.rectangle()、绘制圆的函数cv2.circle()、绘制椭圆的函数cv2.ellipse()、绘制多边形的函数cv2.polylines()、在图像内添加文字的函数cv2.putText()等多种绘
视频信号(以下简称为视频)是非常重要的视觉信息来源,它是视觉处理过程中经常要处理的一类信号。实际上,视频是由一系列图像构成的,这一系列图像被称为帧,帧是以固定的时间间隔从视频中获取的。获取(播放)帧的速度称为帧速率,其单位通常使用“帧/秒”表示,代表在1 秒内所出现的帧数,对应的英文是FPS(Frames Per Second)。如果从视频中提取出独立的帧,就可以使用图像处理的方法对其进行
在图像处理的过程中,经常需要从图像中将前景对象作为目标图像分割或者提取出来。例如,在视频监控中,观测到的是固定背景下的视频内容,而我们对背景本身并无兴趣,感兴趣的是背景中出现的车辆、行人或者其他对象。我们希望将这些对象从视频中提取出来,而忽略那些没有对象进入背景的视频内容。 1. 用分水岭算法实现图像分割与提取 图像分割是图像处理过程中一种非常重要的操作。分水岭算法将图像形象地比喻
直方图是图像处理过程中的一种非常重要的分析工具。直方图从图像内部灰度级的角度对图像进行表述,包含十分丰富而重要的信息。从直方图的角度对图像进行处理,可以达到增强图像显示效果的目的。 1. 直方图的含义 从统计的角度讲,直方图是图像内灰度值的统计特性与图像灰度值之间的函数,直方图统计图像内各个灰度级出现的次数。从直方图的图形上观察,横坐标是图像中各像素点的灰度级,纵坐标是具有该灰度级(像素值
前文链接: OpenCV学习笔记(九)——图像轮廓(上) OpenCV学习笔记(九)——图像轮廓(中) 6. 利用形状场景算法比较轮廓 用矩比较形状是一种非常有效的方法,不过现在有了更有效的方法。从OpenCV 3开始,有了专有模块shape,该模块中的形状场景算法能够更高效地比较形状。 6.1 计算形状场景距离 OpenCV 提供了使用“距离”作为形状比较的度量标准。这是因为形状之间
前文链接:OpenCV学习笔记(九)——图像轮廓(上) 4. 轮廓拟合 在计算轮廓时,可能并不需要实际的轮廓,而仅需要一个接近于轮廓的近似多边形。OpenCV 提供了多种计算轮廓近似多边形的方法。 4.1 矩形包围框 x,y,w,h = cv2.boundingRect( array ) 返回矩形边界左上角顶点的x坐标,y坐标,矩形宽度和高度。 参数 array 是灰度图像或轮
一. 前言 大家好,我们是来自东北大学秦皇岛分校的东秦人工智能一队。智能车竞赛的初心就是“以车会友,突破创新”,于是我们决定公开我们团队的技术方案,欢迎大家一起来交流学习。 首先我先说说我们团队的成绩吧,在区域赛线下赛中,我们的智能车以两轮总和4m53s的成绩拿下了满分1000分,此成绩在东西部所有队伍当中都排名第一位。目前经过赛后复盘和调试,我们的小车已经能稳定在1m40s左右完赛并满分,而
图像金字塔是由一幅图像的多个不同分辨率的子图所构成的图像集合。该组图像是由单个图像通过不断地降采样所产生的,最小的图像可能仅仅有一个像素点。 《OpenCV轻松入门:面向Python》学习笔记(八) 1. 理论基础 1.1 向下采样 1.2 向上采样 2. pyrDown 函数及使用 3. pyrUp 函数及使用 4. 采样
边缘检测虽然能够检测出边缘,但边缘是不连续的,检测到的边缘并不是一个整体。图像轮廓是指将边缘连接起来形成的一个整体,用于后续的计算。图像轮廓是图像中非常重要的一个特征信息,通过对图像轮廓的操作,我们能够获取目标图像的大小、位置、方向等信息。 1. 查找并绘制轮廓 1.1 查找图像轮廓:findContours函数 image, contours, hierarch
图像梯度计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯度值也较大;相反,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也较小。一般情况下,图像梯度计算的是图像的边缘信息。 Canny 边缘检测是一种使用多级边缘检测算法检测边缘的方法。1986 年,John F. Canny 发表了著名的论文A Computational Approach to E
模板匹配是指在当前图像A内寻找与图像B最相似的部分,一般将图像A称为输入图像,将图像B称为模板图像。模板匹配的操作方法是将模板图像B在图像A上滑动,遍历所有像素以完成匹配。 1. 模板匹配基础 result = cv2.matchTemplate(image, templ, method[, mask ] ) image 为原始图像,必须是8 位或者32 位的浮点型图像。
1. 腐蚀 腐蚀是最基本的形态学操作之一,它能够将图像的边界点消除,使图像沿着边界向内收缩,也可以将小于指定结构体元素的部分去除。 腐蚀用来“收缩”或者“细化”二值图像中的前景,借此实现去除噪声、元素分割等功能。 需要注意的是,腐蚀操作等形态学操作是逐个像素地来决定值的,每次判定的点都是与结构元中心点所对应的点。 如果结构元完全处于前景图像中(左图),就将结构元中心点所对应的腐蚀结果图像中
在尽量保留图像原有信息的情况下,过滤掉图像内部的噪声,这一过程称为对图像的平滑处理,所得的图像称为平滑图像。 《OpenCV轻松入门:面向Python》学习笔记(五) 内容列表 《OpenCV轻松入门:面向Python》学习笔记(五) 1. 均值滤波 2. 方框滤波 3. 高斯滤波 4. 中值滤波 5. 双边滤波 6. 2D卷积 1.
1. 缩放dst = cv2.resize( src, dsize[, fx[, fy[, interpolation]]] ) dst 代表输出的目标图像,该图像的类型与src 相同,其大小为dsize(当该值非零时),或者可以通过src.size()、fx、fy 计算得到。src 代表需要缩放的原始图像。dsize 代表输出图像大小。fx 代表水平方向的缩放比例。code 是色彩空间转换码。
最近在阅读OpenCV相关书籍,看到数字水印这个技巧觉得很有意思,于是想分享给大家。 前言 每张图片都是由很多个像素点构成的。在本文中我们采用的载体图像为灰度图,即该图像是一个二维矩阵,其中每个像素点均为8位二进制数,取值范围从00000000(0)-11111111(255)。水印图像为二值图像,即每个像素点只有0和255两个值,其中0代表黑色,255代表白色。 什么是数字水印 数字水印
内容列表 LeNet 模型训练 d2l库中常用函数介绍 LeNet 总体来看,LeNet(LeNet-5)由两个部分组成: 卷积编码器:由两个卷积层组成; 全连接层密集块:由三个全连接层组成。 每个卷积块中的基本单元是一个卷积层、一个sigmoid激活函数和平均汇聚层(即池化层)。请注意,虽然ReLU和最大汇聚层更有效,但它们在20世纪90年代还没有出现
积分
粉丝
勋章
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信