- 博客(475)
- 收藏
- 关注
原创 8.3.3 自然语言统计
我们看看如果在真实数据上进行自然语言统计根据82介绍的时光机器数据集构建词表打印前10个最常用的。importrandomimporttorchfromd2limporttorchasd2ltokensd2ltokenize因为每个文本行不一定是一个句子或者一个段落所以我们把所有文本链接到。
2025-08-30 02:22:22
487
原创 8.3 语言模型和数据集
P只需要一次提取一个词元XtP一个理想的语言模型就能够基于模型本身生成自然文本。使用打字机完全不同的是从这样的模型中提取的文本都将作为自然语言来传递只需要基于前面的对话片断中的文本。就足以生成一段有意义的对话显然我们离设计出这样的系统还很遥远因为它需要理解文本而不仅仅是生成语法上合理的内容。语言模型依然是非常有用的短语t。
2025-08-29 01:48:12
381
原创 pytorch文本预处理
对于序列数据处理问题81节中评估了所需要的统计工具和预测时面临的挑战这样的数据存在许多形式文本时最常见的例子一篇文章可以呗简单的看作一串单词序列甚至一串字符序列我们将解析文本的常见预处理步骤1将文本座位字符串加载到内存中2将字符串拆分为词元3建立一个词表将拆分的词元映射到数字索引4将文本转换为数字索引序列方面模型操作imp。
2025-08-28 00:56:38
571
原创 AV1到达开始和约束时间
在AV1的解码器模型中比特流到达平滑缓冲区的速率只有两种以恒定速度BitRate到达缓冲区或者以速率0到达缓冲区其中BitRate的峰值比特率BitRateMaxBitrateBitrateProfileFactor其中MaxBitrate和BitrateProfileFactor由P。
2025-08-28 00:02:34
504
原创 循环神经网络RNN
目前为止,我们遇到过两种类型的数据,表格数据和图像数据,对于图像数据,我们设计了专门的卷积神经网络架构来为这类特殊的数据结构建模,换句话说,如果我们有一张图像,需要有效的利用其像素位置,假若我们对图像中的像素位置进行重排,就会对图像中内容的推断造成极大的困难。最重要的是,目前为止,默认数据都来自某种分布,所有样本都是独立同分布的,然而,大多数的数据并非如此,文章中的单词是按照顺序写的,如果顺序被随机重排,很难理解文章原本的意思,视频中的图像帧,对话中的音频信号以及网络上的浏览行为都有顺序的,针对此类数据而设
2025-08-27 01:12:21
249
原创 7.7 稠密连接网络 (DenseNet)
实现起来非常简单,我们不需要添加术语,而是将它们连接起来,DenseNet这个名字由变量之间的稠密连接而得来,最后一层与之前的所有层紧密连接。如图7-11所示,ResNet和DenseNet在关键区别在于,DenseNet输出是连接,而不是如ResNet的简单相加。因此,在应用越来越复杂的函数序列后,我们执行从x到期展开式的映射。也就是说,ResNet将f分解为两部分,一个简单的线性项和一个复杂的非线性项,那么再向前一步,如果我们想将f扩展成超过两部分呢?同样,ResNet将函数展开为。
2025-08-26 00:39:37
343
原创 7.6 残差网络
随着我们设计越来越深的网络深刻理解新添加的层如何提升神经网络的性能变得至关重要。更重要的是设计网络的能力在这种网络中添加层会使网络更具有表达力为了取得质的突破需要一些数学基础。761函数类假设有一类特定的神经网络架构F包括学习率和其他超参数的设置对于所有f属于F存在一些参数集这些参数可以通过在合适的数据集上进行训练而获得现在假设。
2025-08-24 23:53:37
902
原创 7.5 批量规范化
训练深层神经网络十分困难的特别是在较短的时间内使他们收敛更加棘手本节将介绍批量规范化这是一种流行而且有效的技术可以持续加深网络的收敛结合在76节中将介绍的残差块批量规范化使得研究人员能够训练100层以上的网络。751训练深层网络为什么需要批量规范化层呢?我们来回顾一下训练神经网络时出现的以下实际挑战。第一数据预处理的方式通常。
2025-08-24 02:44:37
227
原创 7.4 含并行连接的网络GooLeNet
在2014年的ImageNet图像识别挑战赛只能够一个名叫GoogleNet的网络架构大放异彩吸收了NiN串联网络的思想基础上作了改进解决了多大的卷积核时最合适的问题以前流行的网络使用小到1x1大到11x11的卷积核有时候使用不同大小的卷积核组合式有利的。741Inception块在GoogleNet中基本的卷积块。
2025-08-24 01:18:54
306
原创 7.3 网络中的网络NiN
LeNetAlexNet和VGG都有共同的设计模式通过一系列的卷积层与汇聚层提取空间结构特征然后通过全连接对特征的表征进行处理。AlexNet和VGG对LeNet的改进主要在于如何扩大和加深这两个模块或者可以想象在这个过程的早期使用全连接层然而如果使用了全连接层可能会完全放弃表征的空间结构网络中的网络NiN提供了一个非常简单的解决方案。在每个。
2025-08-23 13:34:52
345
原创 AlexNet读取数据集 与VGG-11网络
而一个VGC块与之类似,由一系列的卷积层组成,后面再加上用于空间降采样的最大汇聚层, 在最初的VGC论文中,使用了带有3x3卷积核,填充为1的卷积层,以及带有2x2汇聚窗口,步骤为2,下面代码中,我们定义一了名为vgg_block的函数来实现一个VGC块。与6.6节中的LeNet相比,这里的主要变化时使用更低的学习率训练,这是因为网络更深广,图像分辨率更高,训练卷积网络的成本更高。AlexNet的架构与LeNet相似,但是使用更多的卷积层和更多的参数来拟合大规模的ImageNet数据集。
2025-08-23 00:08:19
428
原创 深度卷积神经网络AlexNet
在计算机视觉中,直接将神经网络与其他机器学习方法进行表也不公平,卷积神经网络的输入事原始像素值经过简单预处理的像素值组成,但是在使用传统机器学习方法时,在传统机器学习方法中,计算机视觉流水线时经过手工精心设计的特征流水线组成的,这些传统方法,大部分的进展都来自对特征有了更聪明的想法,并且学习到的算法往往归于事后的解释。在合理的复杂性前提下,特征应该由多个共同学习的神经网络层组成,每个层都有课学习的参数,机器视觉中,底层可能检查边缘,颜色和纹理,实际上,(4)将提取的特征送入最喜欢的分类器中,以训练分类器。
2025-08-21 23:43:15
378
原创 基于Paddle和YOLOv5实现 车辆检测
每个目标保存为一行 class_id center_x center_y width, height。train.txt/test.txt/val.txt 包含图像绝对路径。labels 目录,包含每个图像对应的YOLO格式标签文件。将VOC XML标注转换为YOLO格式的标签文件。train.txt 非训练验证集样本 主训练集。trainval.txt 所有训练验证集样本。训练子集 占训练集征集的90%test.txt 训练子集样本。val.txt 验证子集样本。(占训练验证集的比例)
2025-08-19 15:33:15
283
原创 yolo吸烟检测
f.write(text + ‘\n’) # 每个类别写入一行。# 创建空列表,用于存储(图像路径, 标注路径)元组。# XML标注文件所在的目录路径。类别列表可根据实际需求扩展(如。# 图像文件所在的目录路径。
2025-08-19 00:58:38
248
原创 pytorch例子计算两张图相似度
self.resnet = torchvision.models.resnet18(weights=None) #不使用训练权重。self.grouped_examples[i] = np.wherre((np_arr==i))[0] #找出该类别的所有索引。torch.nn.init_xavier_uniform_(m.weight) #Xavier均匀初始化。image_1 = self.data[index_1].clone().float() #转为浮点数。
2025-08-16 10:28:20
813
原创 libhevcdec解码函数ihevcd_decode分析
当需要重置解码器时,进入刷新模式。1.1 初始化和参数验证。格式转换和logo插入。循环处理每个NAL单元。处理剩余的显示缓冲区。NAL单元搜索和提取。
2025-07-25 14:51:37
239
原创 AV1平滑缓冲区
对于解码的每一帧视频数据解码器都必须从缓冲池中找到一个尚未被使用的帧缓冲区插槽来存储解码后的数据。分配的帧缓冲区插槽用于临时保存解码过程中生成的帧数据直到它们被用于显示或进一步的处理。函数getfreebuffer的作用是在缓冲池中搜索尚未被分配使用的帧缓冲区。在解码过程中解码器需要统计存储在缓冲池中的解码帧数量来计算显示帧的。
2025-07-21 23:40:12
434
原创 AV1 图像缓冲区管理
AV1标准文档定义了函数initializebufferpool初始化缓冲池和VBI数组该过程描述如下initializebufferpoolBUFFERPOOLMAXSIZE等于10fori = 0;i++)freebufferi)fori = 0;i < 8;i++)VBIi]1;fr。
2025-07-20 11:52:42
432
原创 Av1随机访问点
一般来说随机访问点事比特流中可以开始解码的位置。在视频编码中随机访问点是一种特殊的编码帧可以使解码器在这个位置开始解码不需要解码之前的数据。这样可以提高视频的随机访问性能。使用户可以快速的跳转到是哦的任意位置进行播放。AV1定义了3种随机访问点为了满足最基本的功能要求解码器必须支持这3种随机访问点。但是实际实现过程中解码器可以选择支持更多类型的。
2025-07-19 09:12:02
301
原创 AV1时间单元
时间单元始终按照选择递增的现实顺序排列,如果不使用可扩展性编码,则时间单元恰好包含一个显示帧,即show_existing_frame等于1或者show_frames等于1的帧,如果使用可扩展性编码,则一个时间单元可能包含来自不同扩展层的所有显示帧,这些显示帧具有相同的显示时间,这里需要注意的是,时间单元必须包含显示帧,同时也可以包含语法元素show_frame等于0的视频帧。由于重叠帧的show frame等于1,因此时间单元中的显示帧可以重叠帧(Overlay Frame)。
2025-07-17 00:17:14
261
原创 AV1 元数据信息
元数据信息OBU的作用是传输视频编码过程中的元数据信息。元数据包括色彩空间信息高动态范围HDR可扩展性编码信息以及时间信息。为了区分元数据中的信息AV1定义了语法元素metadatatype以指明元数据存储的数据类型表23所示为metadatatype的取值以及元数据类型。这里需要注意的是当metadatatype。
2025-07-14 22:54:03
302
原创 AV1序列头信息
序列头部OBU的内容是序列头信息Sequenceheader。类似于HEVC中的序列级参数集SPS序列头信息包含适用整个编码序列的参数信息这些参数在编码视频序列中的每个图像之间不会发生改变序列信息中的一些参数提供了编码序列关键描述这对于系统接口非常有用其他参数则描述了编码工具的使用状态或者提供编码工具参数这可以提高编码效率。除此之外序列头信息还可以选择性。
2025-07-13 16:43:55
401
原创 AV1比特流结构
AV1比特流时议息勒OBU数据单元组成每一个OBU由一个可变长的字节串组成OBU包含一个头部信息和一个有效载荷头部信息识别OBU类型并制定有效载荷的大小OBU头部信息包含obuforbidenbitobutypeobuextensionflagobuhassizefield和obureserved1b。
2025-07-12 21:43:24
349
原创 AV1高层语法
高层语法是视频编码标准的一个重要组成部分,用于将视频编码器的通用接口提供给各种网络或者应用系统,例如动态自适应流媒体传输协议Dash,视频会议,电视广播,使得这些系统能够方便的使用视频编码器。序列级和图片级参数:定义了视频编码的序列和图片级别参数,包括视频序列分辨率,使用哪些编码工具和编码帧类型等信息。随机访问和流适应:定义了视频编码的随机访问和流适应机制,包括关键帧随机访问点,延迟随机访问点和关键帧依赖恢复点。档次和级别规范的定义和传输,定义了视频编码的档次和级别规范,用于指定视频编码性能限制和兼容性。
2025-07-12 18:03:10
376
原创 SVT-AV1源码学习-EbMotionEstimation.h 学习
svt_aom_open_loop_intra_search_mb,用于对宏块进行开放环路intra搜索结果搜索,返回错误类型。open_loop_intra_search_sb, //用于在开放环路模式下对超块进行intra 帧内搜索,返回错误类型。extern EbErrorType svt_aom_open_loop_intra_search_mb(//声明外部函数。extern EbErrorType av1_open_loop_intra_search(//声明外部函数。
2025-05-08 17:31:58
955
原创 AV1中的维纳滤波器
AV1中的维纳滤波器是其环路滤波技术的重要组成部分,主要用于提升压缩视频的视觉质量。以下是对该技术的详细分析。(通常为32x32或64x64)(如纹理复杂度,运动强度)(维纳/双滤波/关闭)(如噪声和信号功率)
2025-05-07 19:08:04
337
原创 SVTAV1源码-set_all_ref_frame_type
函数的主要作用是为当前图像设置所有可能用到的参考帧类型并将这些参考帧类型存储到一个数组中同时记录总共有多少个参考帧类型以下是该函数的各部分解释初始化和准备MvReferenceFramerf2];totrefframes0;定一个大小为2的类型的数组rf用于暂时存储参考帧类型将totrefframes变量。
2025-04-30 16:51:42
544
原创 SVT-AV1源码分析-函数svt_aom_motion_estimation_kernel
如果启用了 HME(Hierarchical Motion Estimation),加载 1/4 和 1/16 下采样块数据。:调用 `svt_aom_motion_estimation_b64` 函数进行运动估计。:如果启用了开放环路内块估计,处理每个 64x64 块的内块估计。// 加载 1/4 和 1/16 下采样块数据。// 获取 64x64 块的索引和起始位置。// 加载 64x64 块数据到中间缓冲区。// 处理开放环路内块估计。// 64x64 块循环。// 处理全局运动估计。
2025-04-27 18:03:09
674
原创 X265代码分析--meSearch半像素逻辑
if ((qmv.y < qmvmin.y) | (qmv.y > qmvmax.y)) //Y方向边界检查。if (wl.hpel_satd) //如果在半像素精度下使用SATD作为比较函数。
2025-04-27 10:59:28
304
原创 深度学习-数值稳定性和模型初始化
到目前为止,我们实现的每个模型都是根据某个预先制定的分布来初始化模型的参数,有人会认为初始化方案时理所当然的,忽略了如何做出这些选择的细节,甚至有人可能会觉得,初始化方案的选择并不是特别重要,实际上,初始化方案的选择在神经网络学习中起着举足轻重的作用,保持数值稳定性至关重要。换而言之,该剃度是L-1 个矩阵M(L) ... M(l + 1) 与梯度向量v(l)的乘积。遗憾的是,这会使上面的问题更为严重,矩阵M可能是各种各样的特征值,可能很小,也可能很大,而他们的乘积可能非常大,也可能非常小。
2025-04-24 23:25:54
458
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人