自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 SpinalHDL之Stream

它接受一个 select 信号和 inputs 中的反压流,并返回一个 Stream ,该 Stream 连接到 select 指定的其中一个输入流。,其中 working 表示有一个输入传输已接受并正在进行中, last 表示最后一个输出传输已准备好并等待完成, done 变为有效表示最后一个输出传输正在触发,并使当前输入传输任务处理完成且准备好启动另一个传输。如上例所示,两个 inStream 传输任务将合并为一个 outStream 传输任务,并且第一个输入传输任务的负载将默认置于输出负载的低位上。

2024-07-17 13:52:11 886

原创 SpinalHDL之模块库工具

本文作为SpinalHDL学习笔记第篇,记录使用SpinalHDL模块库的一些实用工具。

2024-07-16 13:18:56 673

原创 SpinalHDL之VHDL 和 Verilog 生成

本文作为SpinalHDL学习笔记第十六篇,记录使用SpinalHDL代码生成Verilog/VHDL代码的方法。SpinalHDL学习笔记总纲链接如下:1.从 SpinalHDL 组件生成 VHDL 和 Verilog2.生成的 VHDL 和 Verilog3.VHDL 和 Verilog 属性要 从 SpinalHDL 组 件 生 成 VHDL, 只 需 在 Scala main 函 数 中 调 用 SpinalVhdl(newYourComponent) 即可。生成 Verilog 完全相同,但用 S

2024-07-14 12:18:12 737

原创 SpinalHDL之模拟信号和输入输出

本文作为SpinalHDL学习笔记第十五篇,记录使用SpinalHDL模拟信号相关API。可以使用功能定义三态信号。添加这些功能的原因有:• 能够将三态信号添加到顶层(它避免了必须用一些手写的 VHDL/Verilog 包装它们)。• 允许定义包含 inout 引脚的黑盒。• 能够通过层次结构将黑盒的 inout 引脚连接到顶级 inout 引脚。由于这些功能只是为了方便而添加的,因此请不要尝试使用三态逻辑的其他花哨的东西。

2024-07-13 12:24:34 721

原创 SpinalHDL之实用工具(下篇)

本文作为SpinalHDL学习笔记第十四篇,记录使用SpinalHDL的一些实用性语法工具。

2024-07-12 12:08:18 1789

原创 SpinalHDL之实用工具(上篇)

本文作为SpinalHDL学习笔记第十三篇,记录使用SpinalHDL的一些实用性语法工具。然后,通过使用这些功能可以定义数字硬件,并构建强大的库和抽象。这也是 SpinalHDL 相对于其他常用 HDL 的主要优势之一,因为无需了解编译器内部原理即可扩展该语言。一个很好的例子是SpinalHDL lib,它添加了许多实用程序、工具、总线和方法。许多工具和实用程序都存在于spinal.lib 中,但有些工具和实用程序已经存在于 SpinalHDL Core 中。语法返回类型描述Int。

2024-07-11 23:10:47 1244

原创 SpinalHDL之错误修复(下篇)

推荐小说《回到明朝当王爷》,也有动漫,但小说改国漫通病,小说中杀伐果断人设极好的男主,到了动漫里就变成犹犹豫豫优柔寡断的废材,参见《元龙》。本文作为SpinalHDL学习笔记第十二篇,记录使用SpinalHDL一些代码错误的修复方法。

2024-07-10 21:38:31 978

原创 SpinalHDL之错误修复(中篇)

6.锁存器检测 (Latch detected)SpinalHDL 将检查在综合期间没有组合信号会引入锁存器。换句话说,这是检查有没有组合信号被部分赋值。

2024-07-09 21:13:25 1106

原创 SpinalHDL之错误修复(上篇)

本文作为SpinalHDL学习笔记第十篇,记录使用SpinalHDL一些代码错误的修复方法。SpinalHDL学习笔记总纲链接如下:1.赋值覆盖 (Assignment overlap)2.跨时钟域违例 (Clock crossing violation)3.组合逻辑环 (Combinatorial loop)4.层次违例 (Hierarchy violation)5.IO 线束SpinalHDL 将检查,没有任何信号赋值会完全擦除前面的信号赋值。示例: 会出现以下错误:一个可能的修复方法是:

2024-07-08 22:51:21 810

原创 SpinalHDL之存储器API

要在 SpinalHDL 中创建内存,应使用Mem类。它允许你定义内存并向其添加读写端口。下表显示了如何实例化存储器:语法描述创建随机访问存储器创建一个 ROM。如果的目标是 FPGA,因为存储器可以推断为块 RAM,您仍然可以在其上创建写入端口。mem.write(

2024-07-08 21:55:20 472

原创 SpinalHDL之时钟域

本文作为SpinalHDL学习笔记第八篇,记录使用SpinalHDL的时钟域相关API。时钟复位作为数字电路不可或缺的部分,在整个电路设计中随处可见,而传统的Verilog中,每个时序always块中都需要有一个@clk,工作重复又容易出错,而且无法高阶参数化。SpinalHDL中有专门针对时钟复位的API,极大的方便了时钟域相关处理。

2024-07-07 23:31:43 1575

原创 SpinalHDL大战之RISC-V CPU

本文作为SpinalHDL学习笔记第七篇,以一个完整的RISC-V CPU项目为例,详解整个模块的Spinal代码。本项目为基于RISC-V指令集的CPU,使用8级流水线的双核锁步CPU,使用SpinalHDL实现。

2024-06-18 21:58:08 129

原创 SpinalHDL实战之DMAC

本文作为SpinalHDL学习笔记第六篇,以一个完整的DMAC项目为例,详解整个模块的Spinal代码。内容很多,先挖坑,以后慢慢填。

2024-06-17 21:08:49 164

原创 SpinalHDL实战之IIC

本文作为SpinalHDL学习笔记第五篇,以一个完整的IIC项目为例,详解整个模块的Spinal代码。内容有点多,先挖坑,以后慢慢填。

2024-06-17 21:00:28 109

原创 SpinalHDL之状态机

时序电路中无处不在的状态机在SpinalHDL中也有对应的库函数,本文以i2c中的状态机为例,介绍SpinalHDL的状态机库函数的使用方法。本文作为SpinalHDL学习笔记第三篇,记录使用SpinalHDL的状态机相关库函数方法。

2024-06-17 20:41:50 215

原创 SpinalHDL之流水线

流水线作为现代芯片必备组件,SpinalHDL针对流水线的库函数极大地提升了开发效率,特别是后期有改动的情况,无论是增减流水线技术还是反压的步骤,与使用Verilog相比不可同日而语,那真是鸟枪换美琴。本文作为SpinalHDL学习笔记第四篇,记录使用SpinalHDL的流水线相关库函数方法。本文以DMA中的流水线为例,介绍SpinalHDL的流水线开发方法。

2024-06-17 20:35:08 182

原创 SpinalHDL之寄存器库函数

Verilog中的寄存器都是以一般的信号形式存在,SpinalHDL针对寄存器有非常好用的库,既可以像函数一样统一管理寄存器,又可以一键生成寄存器文档。本文作为SpinalHDL学习笔记第二篇,记录使用SpinalHDL的寄存器函数方法。本文以IIC的Spinal代码为例,介绍SpinalHDL里的寄存器库函数使用。代码github路径:i2c/i2c/Reg.Scala。

2024-06-16 23:02:57 282

原创 反向应用SVD(奇异值分解)算法检测显示屏缺陷

SVD算法的基本原理本文不作详细介绍,一整张图片就是一个像素值矩阵,每个像素值0-255之间,SVD可以把一个矩阵分解成。

2024-06-16 13:02:55 689

原创 反向应用SVD(奇异值分解)算法检测显示屏缺陷(续)

之前有一篇知乎,工作需要,实现论文中反向使用SVD算法检测屏幕缺陷。本文在论文作者的基础上,做了一些修改。为了区别,本文章“指该论文作者的观点和方法,“为本篇文章作者;

2024-06-16 12:57:41 613

原创 Pytorch DenseNet训练自己的数据集

本文是图像分类神经网络,因此数据集生成相对简单,使用ImageFolder对象可以将一个文件夹下的文件构造成一类,所以数据集的存储格式为一个类的图片放置到一个文件夹下,然后利用dataloader构建提取器,每次返回一个batch的数据,在很多情况下,利用num_worker参数设置多线程,来相对提升数据提取的速度。该目录存放需要测试的图片,即测试集数据,图片放在inference/test下面,结果会保存在output下面,路径可以自定义,在推理代码文件detect.py里修改。

2024-06-16 12:30:56 934

原创 低秩稀疏矩阵分解+导向滤波消除显示屏照片摩尔纹

锦瑟年华谁与度 莫问情归处 只影向斜阳 剑吼西风 欲把春留驻 天涯芳草无归路 回首花无数 解语自销魂 弱袂萦春 尘缘不相误 工作需求,使用低秩稀疏矩阵分解和导向滤波用于消除显示屏照片的摩尔纹,介绍一下使用的算法和代码实现。低秩矩阵分解代码放在GitHub上,路径如下:整体算法流程参考了天津大学的一篇硕士毕业论文《基于图像分解的纹理图像摩尔纹消除方法》,本文针对使用数码相机拍摄显示屏图像时照片上产生的摩尔纹,关于摩尔纹本文不做详细介绍,摩尔纹源于法文 Moiré一词,泛指两个频率相近的等幅正弦波叠加而产生的干

2024-06-16 12:01:22 776

原创 Pytorch DenseNet训练自己的数据集(续)

Apex 对混合精度训练的过程进行了封装,改两三行配置就可以进行混合精度的训练,从而大幅度降低显存占用,节约运算时间。之前写了一篇,使用pytorch实现DenseNet,完成完整的代码框架,从建立数据集、设置参数、训练网络到推理测试。因此,在上一版的基础上,做些优化改进,设法提升训练速度,降低显存消耗。这个版本主要使用APEX DDP并行加速模式,不支持DP,本来想做成可配置的,发现有点麻烦,所以--ddp参数默认为True。APEX中包含了混合精度,混合精度训练,指代的是。

2024-06-16 11:55:02 976

原创 LKNet--用于OLED显示屏Mura缺陷检测的神经网络

本专利设计了一种基于DenseNet和Xception神经网络模型称为LKNet,用于构建OLED面板良品检测卷积神经网络的主干部分,并加入特征金字塔结构用于多尺寸检测,使用空间金字塔池化适配不同尺寸大小的图片,增加通道混洗,用于特征通道间的特征流通,增加了L2正则化和Drop技术用于防止神经网络过拟合,设计了一种用于降维的空间通道金字塔池化(SCPP)模块,用于代替1*1卷积,加入数据并行(DP)模式用于减少显存消耗和提升训练速度;SCPP将特征图通道进行不同数量的分组,比如1份,每份为所有通道;

2024-06-15 22:38:44 756

原创 Python爬虫获取B站漫画

的请求输入是之前GetImageIndex...得到的/bfs/manga........jpg’添加一些字符串,如上图所示。

2024-06-15 22:29:46 1776

原创 Python爬虫爬取彼岸图网4K图片

最近正在玩StyleGANs,需要一些动漫图片做训练数据集,所以搞个爬虫从彼岸图网爬取4K国漫美女图片。GitHub - tklk610/Python-Crawlies-for-Netbian: Python爬虫爬取彼岸图网4K图片Python爬虫爬取彼岸图网4K图片. Contribute to tklk610/Python-Crawlies-for-Netbian development by creating an account on GitHub.CSDN本文介绍一下爬取的方法。

2024-06-15 22:13:36 942

原创 百度图片爬虫

rn”是每页显示图片张数,“pn”是每页显示的图片序列数,30/60/90.......。GitHub - tklk610/Python-Crawlies-for-Baidu-Image-Seach: Python爬虫爬取百度图片。最近正在玩StyleGANs,需要一些动漫图片做训练数据集,所以搞个爬虫从百度图片爬取国漫美女图片。百度图片使用的是Ajax技术,所以当前HTML里没有图片url。之后使用得到的正确URL发起GET请求就可以下载图片了。第三步,使用正确的URL发起GET请求下载图片。

2024-06-15 21:55:54 1204

原创 StyleGAN2训练生成国漫美女壁纸

最近在玩生成模式,有用到StyleGAN2,使用自己收集到的国漫美女数据集训练玩玩。本文记录一下整个流程,不同于现有的岛国动漫头像生成,本文使用的训练集全部使用3D画风的国漫美女,而且使用的是含背景的全身图,期望生成能当壁纸的全身图。说点题外话,最近几年3D画风的国漫蓬勃发展,各种优秀动漫层出不穷,斗破苍穹、元龙、完美世界、灵笼等等,原本主要看岛国动漫的作者,在经过这么多3D画风国漫的熏陶下,现在对于2D的岛国风反倒不太喜欢了。

2024-06-15 21:45:10 565

原创 Python爬虫下载漫画

最近有个轻小说改编动漫《在异世界迷宫开后宫》开播,看着还行,小说一般,流水账的感觉,而且目前国内暂时没有文库版的翻译,只有web版的个人翻译,不过对应的漫画画的很不错。:这个是里番!本文使用Python爬虫Requests和Selenium模块爬取这个漫画。完整代码如下:GitHub - tklk610/Python-Crawlies-for-369manhua: Python爬虫爬取《在异世界迷宫开后宫》漫画。

2024-06-15 20:54:21 1765

原创 深度学习注意力机制消除图像噪声

由于噪声缺陷的特征以及期望的结果,本文选择使用基于注意力机制的神经网络进行噪声图像的恢复重构,将噪声照片输入AI模型,得到重构后的无噪声图片。本文的图像去噪方法类似傅里叶变换,将图像信息分解成不同的特征通道,每个特征通道表示图像的某种信息,使用深度学习方法自主学习各个特征通道的信息,将其中和噪声相关的特征通道通过注意力机制减弱或消除,相当于消除图像中的噪声信息,之后使用剩下的这些特征通道重构无噪声的图像。通过特征加和模块和Encoder分支同一层的特征进行相加,将浅层的特征信息融合进来,利于图像信息恢复;

2024-06-15 20:45:27 882

原创 基于深度学习变分自动编码器的Mura缺陷图像数据集生成方案

由于深度学习自身的算法特性,需要大量的Mura缺陷图片作为训练数据集供神经网络学习缺陷特征,而这些Mura缺陷图像的获取则成了制约深度学习在图像Mura缺陷检测领域发展应用的一大因素。每一张缺陷图片需要一个Mura缺陷屏幕,而缺陷屏幕的数量本就不是很多,且这些缺陷屏幕都是各个厂家的保密资产,难以得到。

2024-06-15 20:27:40 951

原创 基于条件变分自动编码器的类型可控显示屏外观缺陷图像数据集生成方案

深度学习作为新兴技术在显示屏外观缺陷检测领域蓬勃发展,因其自主学习显示屏外观缺陷特征避免了人工设计算法的繁琐,精准的检测性能、高效的检测效率以及对各种不同类型的显示屏外观缺陷都有比较好的泛化性能,使得深度学习技术在显示屏外观缺陷检测领域得到广泛应用。由于深度学习自身的算法特性,需要大量的显示屏外观缺陷图片作为训练数据集供神经网络学习显示屏外观缺陷特征,而这些缺陷图像的获取则成了制约深度学习在显示屏外观缺陷检测领域发展应用的一大因素。

2024-06-15 19:07:08 859

原创 基于条件生成对抗的PCB板缺陷数据集生成方案

将生成器生成的PCB板缺陷图像和真实的PCB板缺陷图像加上对应的缺陷类别标签信息输入到判别器,由判别器作区分,同时训练生成器和判别器,使得生成器学到PCB板缺陷图像的数据分布特征,而判别器能够较准确地分辨真假缺陷图像,是两者最终达到纳什平衡,即判别器对生成器生成的PCB板缺陷图片的分辨率只有50%。将生成器生成的伪缺陷图片G(Z|c)+对应的类型标签c以及真实缺陷图片X+真实缺陷类型标签c分别送入真假判别器Dt,得到该图片的真实概率P(G(Z|c))和P(X|c),计算真实损失值LDt;

2024-06-15 18:43:06 1138

原创 一种自对抗深度学习生成模式

两者进行互逆操作,生成器G将数据分布特征空间映射到图像,而反向器R将图像映射回数据分布特征空间,两个模块共享关键的卷积权重参数,即生成器G中的对应的反卷积权重参数和反向器R的卷积权重参数相同,两个模块各自从相对的角度同向逼近,相互对抗,由于共享关键权重参数,也可以和自身进行对抗,即自对抗生成模式。传统生成对抗网络的两个模块生成器G和判别器D是完全无关的神经网络,而本专利的生成器G和反向器R属于互逆模型,且共享卷积权重参数,能更好地进行互相对抗和互相监督。基于3×3卷积的模块(Conv);

2024-06-15 17:21:48 715

原创 一种层次化区块注意力卷积方法

本专利提出一种新的层次化区块注意力卷积方法,该卷积核一方面利用图像中各区块自身像素的注意力,减少了整张图像其他区块像素的影响,使得注意力计算更加关注自身区块内的像素,减小远处图像无关像素的影响,使得卷积能更好的针对该区块中特征较明显的部分,改进了传统卷积对所有像素一视同仁的做法,使得图像中更精细的区块部分中待处理物体相关的像素能更多地进入卷积操作,无关像素更少的被卷积捕获,提高卷积提取物体特征的效率,减少无关像素的干扰;图中,红色线为第一种划分方式,绿色线为第二种划分方式,周围浅色部分为0值填充。

2024-06-15 12:26:20 612

原创 一种多头金字塔分块自注意力方法

本专利提出一种新的多头金字塔分块自注意力方法,第一步,将图像划分为不重叠的小区块,在各自区块中进行自注意力计算,然后将计算结果按区块位置拼接起来,第二步,对图像使用可分离卷积进行金字塔操作,在每一层将图像划分为同样大小不重叠的小区块,在这些上一层级的小区块中再次进行自注意力计算,同样将计算结果按区块位置拼接起来,第三步,从上到下将各层自注意力结果进行双线性插值,使得该层自注意力张量尺寸和下一层的自注意力张量尺寸一致,然后两者按元素相加。

2024-06-15 11:46:04 529

原创 一种基于Canny算子的深度学习图像边缘强化方法

本专利使用特征金字塔结构对图像进行不同层次的特征提取,在每个特征提取阶段都进行Canny算子操作,并通过差分操作强化该层图像特征的边缘信息,将图像边缘信息更好地加入到整体图像特征信息中,通过特征分层以及融合,强化每一层特征的边缘信息,并整合成图像整体边缘特征,融入到整个图像的特征信息中,使得图像特征信息更加全面。图像边缘检测作为图像样本的基本处理流程,在图像领域有着十分重要的地位,在深度学习图像处理中,图像边缘信息是整张图像特征信息的关键部分,在神经网络对图像特征提取方面有着不可替代的作用。

2024-06-15 11:24:24 598

原创 一种层次化数据标准化方法

数据标准化,就是将原来分布范围不同的数据缩放在一个范围之内,一般来说是标准化到均值为0,标准差为1的标准正态分布,均值为0是为了让数据中心化,让各个维度的特征都平衡,标准差为1是为了让数据在各个维度上的长度都呈现一个单位向量(矩阵),也就是把原来大小范围分布不同的数据缩放成统一量纲,和拳击比赛一样,只有相同重量级的对手才能同台比赛,这里把数据的标准差缩放为1的意义就相当于把轻量级选手的体重加重,把重量级选手的体重减轻,让他们在同一个擂台上比赛,否则比赛就不公平。在下图中,可以看到归一化数据的效果。

2024-06-15 10:41:18 777

原创 SpinalHDL 学习笔记

SpinalHDL是一种基于Scala的硬件构筑语言(Constructing Hardware In Scala Embedded Language),通过比Verilog/VHDL更好层次的行为级描述,拥有更加高层次视角以及抽象编码能力,作为一种Verilog/VHDL代码的生成器,在Verilog/VHDL绝对统治芯片设计语言的情况下,宛如一泓清泉带来不一样的清新体验,又似一匹黑马从一堆新芯片设计语言中杀将出来。4.请文明交流,做这行的都算高层次人才,希望你有对应的高素质;3.可以潜水,不能灌水;

2024-06-14 21:27:21 460

原创 BlackBox:Verilog封装转换接口

本文作为SpinalHDL学习笔记第一篇,记录使用SpinalHDL的BlackBox库函数封装Verilog代码的方法。SpinalHDL学习笔记总纲链接如下:现有的Verilog代码是不能直接放入SpinalHDL代码里的,需要使用BlackBox库函数进行封装,打个比方,Verilog是USB接口,Scala是TypeC,就需要一个转换器才能进行数据传输,这个转换器就是BlackBox,本文以SPI总线的封装为例介绍BlackBox。

2024-06-14 21:22:57 594 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除