- 博客(172)
- 资源 (3)
- 收藏
- 关注
原创 transformer模型详细配置——大语言模型 LLMBook 学习(三)
激活函数(Activation Function)是神经网络中的非线性变换函数,它的主要作用是。
2025-03-20 16:37:51
771
原创 初识大模型——大语言模型 LLMBook 学习(一)
1. GPT-1(2018):开创预训练 + 微调范式🔹 关键优化点引入 Transformer 架构:相比 RNN 和 LSTM,Transformer 具备更强的并行计算能力,提升了训练效率。自回归预训练(Autoregressive Pre-training):使用无监督学习训练,预测下一个词(Next Token Prediction)。微调(Fine-tuning):在特定任务(如问答、情感分析)上进行微调,提高模型的任务适应性。参数规模:1.17 亿(1.17B)。🔹 局限性。
2025-03-09 17:28:20
1359
原创 YK人工智能(八)——Dropout机制介绍
Dropout作为一种简单而有效的正则化技术,广泛应用于各种深度学习模型中。通过随机丢弃神经元,Dropout能够有效地防止过拟合,提高模型的泛化能力。尽管存在一些挑战和限制,但通过合理的参数选择和与其他技术的结合,Dropout仍然是深度学习中不可或缺的工具之一。随着研究的深入,Dropout的变种和改进方法不断涌现,为不同任务和模型提供了更多的选择和灵活性。
2025-02-10 10:15:36
810
原创 YK人工智能(七)——中文分词方法及在大模型中的应用
中文分词方法多种多样,各有优缺点。在实际应用中,选择合适的分词方法需要考虑具体的应用场景、数据特点和计算资源。现代大模型(如 BERTGPT)通常采用子词分割方法(如 BPE、WordPiece),但在特定领域或任务中,其他方法也可能提供有价值的补充。随着技术的发展,分词方法也在不断演进,未来可能会出现更多创新的分词技术。在实际应用中,子词分割方法是中文大模型中的标准选择,因为它能有效处理新词、罕见词,同时控制词汇表大小,适用于现代大规模预训练模型。
2025-02-10 10:10:12
956
原创 YK人工智能(六)——万字长文学会基于Torch模型网络可视化
对于TensorBoard来说,它的功能是很强大的,可以记录的东西不只限于本节所介绍的范围。主要的实现方案是构建一个SummaryWriter,然后通过add_XXX()函数来实现。其实TensorBoard的逻辑还是很简单的,它的基本逻辑就是文件的读写逻辑,写入想要可视化的数据,然后TensorBoard自己会读出来。
2025-02-05 14:38:15
941
原创 YK人工智能(五)——万字长文学会torch模型微调
除了使用进行预训练以外,还有一个常见的预训练模型库,叫做timm,这个库是由Ross Wightman创建的。里面提供了许多计算机视觉的SOTA模型,可以当作是torchvision的扩充版本,并且里面的模型在准确度上也较高。在本章内容中,我们主要是针对这个库的预训练模型的使用做叙述,其他部分内容(数据扩增,优化器等)如果大家感兴趣,可以参考以下两个链接。
2025-02-05 11:00:37
810
原创 深度学习从入门到实战——卷积神经网络原理解析及其应用
卷积神经网络CNN卷积神经网络前言卷积神经网络卷积的填充方式卷积原理展示卷积计算量公式卷积核输出的大小计算感受野池化自适应均值化空洞卷积卷积神经网络前言为什么要使用卷积神经网络呢?首先传统的MLP的有什么问题呢? - 传统过的全连接网络,每一层的输出就是下一层的输入。在一个模型拟合任务中,并不是所有的参数特征都占据很大。因此,有些特征依然会存在冗余的情况。总结:并不是所有的权重都会发生作用,依然会有很多不必要的参数。全连接存在的问题就是,这一层的输入也许我并不是全部需要,也许本身也不需要。
2025-01-08 15:50:04
3672
1
原创 YK人工智能(四)——万字长文学会基于Torch实现深度学习项目
深度学习任务的特别要求对于一个PyTorch项目,我们需要导入一些Python常用的包来帮助我们快速实现功能。常见的包有os、numpy等,此外还需要调用PyTorch自身一些模块便于灵活使用,比如等等。首先导入必须的包。注意这里只是建议导入的包导入的方式,可以采用不同的方案,比如涉及到表格信息的读入很可能用到pandas,对于不同的项目可能还需要导入一些更上层的包如cv2等。如果涉及可视化还会用到matplotlib、seaborn等。涉及到下游分析和指标计算也常用到sklearn。有如下几个超参数可以
2025-01-08 14:49:05
954
原创 YK人工智能(三)——万字长文学会torch深度学习
几何代数中定义的张量是基于向量和矩阵的推广,比如我们可以将标量视为零阶张量,矢量可以视为一阶张量,矩阵就是二阶张量。张量维度代表含义0维张量代表的是标量(数字)1维张量代表的是向量2维张量代表的是矩阵3维张量时间序列数据 股价张量是现代机器学习的基础。它的核心是一个数据容器,多数情况下,它包含数字,有时候它也包含字符串,但这种情况比较少。因此可以把它想象成一个数字的水桶。3维 = 时间序列4维 = 图像5维 = 视频width: 图像的宽度,即水平方向上的像素数量。
2024-12-31 17:31:58
981
1
原创 YK人工智能(二)——万字长文了解深度学习环境配置
PyTorch是由Meta AI(Facebook)人工智能研究小组开发的一种基于Lua编写的Torch库的Python实现的深度学习库,目前被广泛应用于学术界和工业界,相较于Tensorflow2.x,PyTorch在API的设计上更加简洁、优雅和易懂。
2024-12-31 16:34:06
1068
原创 YK人工智能(一)——万字长文了解人工智能基础数学知识
1.1 标量,向量,矩阵,张量之间的联系标量(scalar)一个标量表示一个单独的数,它不同于线性代数中研究的其他大部分对象(通常是多个数的数组)。我们用斜体表示标量。标量通常被赋予小写的变量名称。向量(vector)一个向量表示一组有序排列的数。通过次序中的索引,我们可以确定每个单独的数。通常我们赋予向量粗体的小写变量名称,比如 xx 。向量中的元素可以通过带脚标的斜体表示。向量 XXX 的第一个元素是 X1X_1X1 ,第二个元素是 X2X_2X2 ,以此类推。我们也会注明存储在向量
2024-12-31 14:44:09
584
原创 QT从入门到精通(三)——实现文件列表遍历的图像浏览器
在本篇博客中将介绍如何使用 Qt 框架创建一个简单的图像浏览器应用程序。该应用程序能够选择文件夹,遍历其中的图像文件,并显示这些图像。我们将重点关注如何使用 Qt 的文件对话框和 OpenCV 库来处理图像。
2024-12-25 22:21:59
445
原创 OpenCV学习——图像融合
import cv2 as cv# 读取图片bg = cv.imread("test_images/background.jpg", cv.IMREAD_COLOR)fg = cv.imread("test_images/forground.png", cv.IMREAD_COLOR)# 打印图片尺寸print(bg.shape)print(fg.shape)# 尺寸重构resize_size = (1200, 800)bg = cv.resize(bg, resize_size,
2024-12-19 22:49:26
799
1
原创 OpenCV(python)从入门到精通——运算操作
加法减法操作import cv2 as cvimport numpy as npx = np.uint8([250])y = np.uint8([10])x_1 = np.uint8([10])y_1 = np.uint8([20])# 加法,相加最大只能为255print(cv.add(x,y))# 减法,相互减最小值只能为0print(cv.subtract(x_1,y_1))图像加法import cv2 as cvimport numpy as npi.
2024-12-19 22:46:58
660
3
原创 OpenCV(python)从入门到精通——文件操作
图像的读取import cv2 as cv'''图片的读取'''if __name__ == '__main__': # 读取图片 img = cv.imread(r"images/1.jpg",cv.IMREAD_COLOR) # 显示图片 cv.imshow("pic show",img) # 暂停 cv.waitKey(0)不同读取方式,灰度图读取import cv2 as cv'''图片的读取'''if __n.
2024-12-19 22:46:47
1010
原创 目标检测之FasterRcnn算法——训练自己的数据集(pytorch)
数据集数据集目录如上,VOC数据集的格式JPEGImages目录下,放上自己的训练集和测试集Annotations 下,放上自己的xml文档配置,如上。在VOCdevkit\VOC2012\ImageSets\Main下,放上自己的train.txt和val.txt,上面,我按照VOC的格式来的,前面是所有的XML,因为VOC有32类,这里有我懒的删除,刚好前面代表XML文件,后面代表这张图片中有多少该目标,-1表示没有。这样的话,数据就准备好了。准备一个json,文件,选择
2024-12-19 22:46:35
21862
20
原创 深度学习从入门到精通——图像分割实战DeeplabV3
DeeplabV3算法参数配置关于数据集的配置训练集参数数据预处理模块DataSet构建模块测试一下数据集去正则化参数配置关于数据集的配置 parser = argparse.ArgumentParser() # Datset Options parser.add_argument("--data_root", type=str, default=r'D:/', help="path to Dataset") parser
2024-12-19 22:46:27
3764
原创 深度学习之目标检测篇——残差网络与FPN结合
特征金字塔多尺度融合特征金字塔的网络原理这里是基于resnet网络与Fpn做的结合,主要把resnet中的特征层利用FPN的思想一起结合,实现resnet_fpn。增强目标检测backone的有效性。代码实现如下:import torchfrom torch import Tensorfrom collections import OrderedDictimport torch.nn.functional as Ffrom torch import nnfrom torch.jit.
2024-12-19 22:44:54
1927
2
原创 深度学习之目标检测——RCNN
Selective Search背景:事先不知道需要检测哪个类别,且候选目标存在层级关系与尺度关系常规解决方法:穷举法·,在原始图片上进行不同尺度不同大小的滑窗,获取每个可能的位置弊端:计算量大,且尺度不能兼顾Selective Search:通过视觉特征减少分类可能性算法步骤基于图的图像分割方法初始化区域(图像分割为很多很多小块)循环使用贪心策略计算相邻区域相似度,每次合并相似的两块直到剩下一块结束如何保证特征多样性颜色空间变换,RGB,i,
2024-12-19 22:44:29
3075
原创 深度学习从入门到精通——PyTorch神经网络进行气温预测
神经网络进行气温预测导入库数据读取构建模型更简单的构建网络模型训练网络测试导入库import numpy as npimport pandas as pd import matplotlib.pyplot as pltimport torchimport torch.optim as optimimport warningswarnings.filterwarnings("ignore")数据读取features = pd.read_csv('temps.csv')#看看数据长什么
2024-12-19 22:44:11
2002
2
原创 深度学习之超分辨率算法——SRCNN
网络为基础卷积层tensorflow 1.14scipy 1.2.1numpy 1.16大概意思就是针对数据,我们先把图片按缩小因子照整数倍进行缩减为小图片,再针对小图片进行插值算法,获得还原后的低分辨率的图片作为标签。main.py 配置文件from model import SRCNNfrom utils import input_setupimport numpy as npimport tensorflow as tfimport pprintimp..
2024-12-19 22:43:39
2536
7
原创 深度学习实战之超分辨率算法(tensorflow)——ESPCN
espcn原理算法请参考上一篇论文,这里主要给实现。数据集如下:尺寸相等即可针对数据集,生成样本代码preeate_data.pyimport imageiofrom scipy import misc, ndimageimport numpy as npimport imghdrimport shutilimport osimport jsonmat = np.array( [[ 65.481, 128.553, 24.966 ], [-37.797, -7
2024-12-19 22:43:30
1523
5
原创 传统CV算法——基于opencv的答题卡识别判卷系统
实现答题卡识别系统中的各个功能。每个步骤都是自动化处理的关键部分,确保系统能够准确地读取和评分答题卡。通过这样的方式,可以大大减少人工操作的需求,提高评分的效率和准确性。
2024-12-19 22:43:17
3611
1
原创 深度学习之超分辨率算法——FRCNN
– 对之前SRCNN算法的改进输出层采用转置卷积层放大尺寸,这样可以直接将低分辨率图片输入模型中,解决了输入尺度问题。改变特征维数,使用更小的卷积核和使用更多的映射层。卷积核更小,加入了更多的激活层。共享其中的映射层,如果需要训练不同上采样倍率的模型,只需要修改最后的反卷积层大小,就可以训练出不同尺寸的图片。模型实现import mathfrom torch import nnclass FSRCNN(nn.Module): def __init__(self, sca
2024-12-19 22:42:44
3310
9
原创 深度学习之超分辨率算法(pytorch)——ESPCN
先回忆一下:SRCNN缺点依赖于图像区域收敛速度慢哈尺度固定计算量大模型输入:原始低分辨率图片核心:亚像素卷积。在网络的最末端实现LR到HR的分辨率背景:之前的SRCNN,通过双三次插值得到的高分辨率的图像,直接从低分辨率LR得到了高分辨率的图片。(输入是双三次插值的高分辨率图像(类似于粗糙的高分辨率图像)),那么在网络卷积中就会造成,粗糙的高分辨率图和标签进行计算。这样计算时间复杂度较大。ESPCN网络模型# 网络模型代码import mathimport torchfro
2024-12-19 22:42:33
7765
1
原创 深度学习之超分辨率算法——SRGAN
更新版本实现了生成对抗网络在超分辨率上的使用更新了损失函数,增加先验函数SRresnet实现import torchimport torchvisionfrom torch import nnclass ConvBlock(nn.Module): def __init__(self, kernel_size=3, stride=1, n_inchannels=64): super(ConvBlock, self).__init__() self.sequ..
2024-12-19 22:42:19
3108
1
原创 OpenCV从入门到精通实战(一)——模板匹配实现信用卡号识别
信用卡识别轮廓模板显示模板图像模板转灰度图转阈值计算轮廓轮廓排序并且保留显示图像转灰度图进行礼帽操作Sobel边缘算子闭操作 补洞轮廓排序结果依次识别轮廓模板识别出来的数字需要比对,需要找个模板对应一下。# 导入工具包import argparseimport cv2import numpy as npfrom imutils import contoursimport myutilsimport cv2def sort_contours(cnts, method="left-to
2024-12-19 22:41:43
1210
原创 CUDA从入门到精通(六)——CUDA编程模型(二)
不同的网格和块数量会影响 CUDA 程序的性能,主要是因为它们影响了资源利用率、线程调度、内存访问模式、计算与内存传输的平衡、线程块的大小、设备特性和负载均衡等因素。在 CUDA 编程中,计时核函数的执行时间是评估性能的重要步骤。,一个命令行工具,能够提供丰富的性能分析数据,帮助你了解 CUDA 程序的执行情况,包括内存传输、核函数执行时间、硬件性能计数等。(CPU)计时 CUDA 核函数的场景,但需要注意的是,它只能计时核函数的总执行时间,不能提供 GPU 上详细的硬件性能数据。
2024-12-19 22:41:10
707
原创 CUDA从入门到精通(五)——CUDA编程模型(一)
CUDA(Compute Unified Device Architecture)是NVIDIA推出的一种并行计算平台和编程模型,旨在利用GPU的强大计算能力。CUDA编程模型允许开发者使用C、C++和Fortran等高级语言编写程序,以便在NVIDIA GPU上执行并行计算任务。
2024-12-19 00:15:51
1548
原创 CUDA从入门到精通(三)——CUDA编程示例
CUDA(Compute Unified Device Architecture)是由 NVIDIA 提供的一种并行计算平台和编程模型。它允许开发者利用 NVIDIA GPU 的并行计算能力,编写可以在 GPU 上高效运行的代码,从而加速计算密集型任务。CUDA 通过扩展标准的 C/C++ 语言,提供了编译工具链和库,使程序员可以轻松编写并行代码。线程、线程块和网格 (Grid)CUDA 提供了一种分层的 线程模型,用于在 GPU 上组织并行计算:线程的组织结构可以用一维、二维或三维方式定义:
2024-12-17 23:56:54
2773
原创 CUDA从入门到精通(四)——数据划分方法介绍
则每个线程需要处理的数据量为 ( \text{数据总量} / \text{线程数} = 16 / 4 = 4 )。是将大量数据分配给多个计算单元(如 GPU 线程或 CPU 核心)进行并行处理的重要技术。(Cyclic Partitioning)是两种常见的划分方式,它们的区别主要体现在。由于稀疏矩阵中非零元素分布不均匀,可以使用周期划分来均匀分配计算任务,避免负载不均。(Block Partitioning)和。在并行计算或数据并行编程中,,每个线程交替处理数据。
2024-12-17 23:18:20
563
原创 CUDA从入门到精通(二)——NVCC编译器介绍
修饰的函数),并将这些代码编译成 GPU 能够理解的 PTX(并行线程执行)代码或二进制代码(SASS)。打开x64 Native Tools Command Prompt for VS 2019。编译在一起,生成最终的可执行文件或对象文件,供 CPU 和 GPU 协同运行。要查看 CUDA 内核编译成的 PTX 代码,可以使用。混合编译,从而实现 CPU 和 GPU 的协同计算。CUDA 支持不同的 GPU 架构(例如。处理标识为 GPU 的代码段(通常是。4060ti,这里采用sm_86。
2024-12-17 22:26:17
2355
原创 QT从入门到精通(二) ——信号与槽机制
现代 C++ 写法(函数指针和 Lambda 表达式)更加简洁和安全,推荐在新代码中使用。中用于对象间通信的核心机制之一。它允许对象之间进行松耦合的事件驱动式通信,尤其适合。Qt 的信号与槽机制是一种强大且灵活的事件处理机制,它提供了。如果信号或槽有多个重载版本,必须在连接时指定函数指针。负责在对象间传递信号,确保槽在正确的上下文中执行。的通信方式,广泛用于 Qt 应用程序中的。使用函数指针和 lambda 表达式。有多种形式,支持不同的连接模式。Qt 的信号与槽机制基于。
2024-12-17 22:03:13
1284
原创 CUDA从入门到精通(一)——基于CUDA的异构并行计算
提高运算速度;将一个大的问题划分为很多可以同时解决的小问题架构类型指令流数据流适用场景SISD单指令流单数据流传统单核处理器,适用于简单的计算任务SIMD单指令流多数据流数据并行任务,如图像处理、科学计算、GPU 加速MISD多指令流单数据流容错计算任务,实际应用较少MIMD多指令流多数据流高度并行任务,适用于现代多核处理器、超级计算机、分布式计算SISD:这是早期计算机系统的典型架构,现在依然广泛应用于低功耗嵌入式设备和某些计算密集型任务(如某些微控制器)。
2024-12-17 15:51:43
1518
原创 QT从入门到精通(一)——Qlabel介绍与使用
Qt 是一个跨平台的应用程序开发框架,广泛用于开发图形用户界面(GUI)应用程序,也支持非图形应用程序的开发。Qt 提供了一套工具和库,使得开发者能够高效地构建高性能、可移植的应用程序。
2024-12-12 23:50:33
1239
原创 OpenCV从入门到精通实战(五)——dnn加载深度学习模型
从指定路径读取图像文件、利用OpenCV进行图像处理,以及使用Caffe框架进行深度学习预测的过程。
2024-11-26 09:38:09
1410
原创 OpenCV从入门到精通实战(八)——基于dlib的人脸关键点定位
使用定义了两组面部关键点,一组包含68个点,另一组包含5个点,这些关键点用于后续的特征提取。])
2024-11-26 09:37:53
1208
git常用的操作手册和指南
2024-08-27
基于智谱AI和LangChain实现RAG应用代码
2024-08-27
百度的关键字爬取相关图片
2024-08-26
基于LangChain和智谱API搭建知识库
2024-08-26
Python库d和OpenCV来实现眼部闭合检测,主要用于评估用户是否眨眼
2024-04-18
实现一个简单的视频对象追踪应用,该应用支持多种追踪算法,并允许用户实时选择和追踪视频中的对象 这种技术在许多领域都有广泛的应用
2024-04-18
从指定路径读取图像文件、利用OpenCV进行图像处理,以及使用Caffe框架进行深度学习预测的过程
2024-04-18
基于Opencv实现答题卡识别系统中的各个功能
2024-04-18
停车位识别基于深度学习的停车位识别系统利用计算机视觉技术来自动检测和监控停车位的占用情况 地平线
2024-04-17
全景图像拼接;实现特征点检测与描述子
2024-04-17
基于Opencv与tesseract 实现的文本识别
2024-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人