- 博客(139)
- 资源 (1)
- 收藏
- 关注
原创 使用CUDA 提供的API 查看GPU对vedio编码器的支持情况(H264/AVC1)
通过安装 CUDA Toolkit 和 NVIDIA Video Codec SDK,并使用其 API,您可以查询 GPU 支持的编码能力,包括 H.264 profile 和 level。下面是一个简单的示例,展示了如何使用 NVENC API 来获取支持的 H.264 profile 和 level。NVIDIA 提供了 Video Codec SDK,其中包含用于视频编码和解码的 API。运行程序后,您应该能看到支持的 H.264 profile 和 level 列表。
2024-10-19 04:55:56
871
原创 楼顶红灯的作用
红灯的主要目的是增加航空安全,通过确保飞行器能清晰识别建筑物。闪烁频率的不同是为了提高可见性、减少视觉疲劳、遵守不同的法规,并考虑到不同的技术和设备。具体要求可能因地区、建筑物高度和类型而异,因此频率和模式的差异是正常的。
2024-10-12 20:00:14
817
原创 执行qt打包好的程序出现终端窗口(cmake构建)
在打包 Qt 项目并运行.exe文件时,如果出现的问题,通常是由于你使用了设置(Console Application),而不是设置。控制台应用程序会默认打开一个命令窗口来显示输出,而 GUI 应用程序不会显示命令窗口。
2024-10-10 20:34:23
1145
原创 SoC的简单介绍
这些 SoC(System on Chip)在不同应用领域中使用,具有高度集成的特点,包括计算单元、通信模块、多媒体处理和 AI 加速等组件。在产品设计中,选择 SoC 通常取决于系统的性能需求、功耗限制和应用场景。
2024-10-10 20:17:13
2052
原创 Override放到定义中报错
override应该在声明中使用,它告知编译器这是一个重写基类函数的声明。在定义中,去掉override,因为它只用于声明时的类型检查。这样,你的代码将正确地遵循 C++ 的语法和语义规则。
2024-10-10 19:53:57
271
原创 什么是OpenMP
OpenMP (Open Multi-Processing) 是一个用于共享内存多处理器编程的 API(应用程序编程接口)。它提供了一组编译器指令、库函数和环境变量,用于开发多线程并行程序。OpenMP 主要用于 C、C++ 和 Fortran 语言,适用于在多核处理器上执行的共享内存并行计算任务。OpenMP 常用于科学计算、图像处理、数据分析等需要并行化计算的大型应用中。命令会创建一个并行区域,多个线程将在此区域内同时运行。
2024-10-09 13:08:33
345
原创 clone&run_lora
Clone 代码库: 你可以从 GitHub 上 clone LoRA 项目代码,或是使用 Hugging Face 的相关工具。安装依赖: 安装 LoRA 相关的库(datasetspeft数据准备: 使用 Hugging Face 的datasets加载训练数据。模型和配置: 使用peft配置 LoRA,并加载要微调的模型。训练模型: 使用 Hugging Face 的Trainer进行训练。保存模型: 保存训练好的 LoRA 模型用于推理。
2024-10-09 13:04:15
325
原创 Flux LoRA简单介绍
Flux LoRA是一种参数高效微调方法,利用低秩矩阵分解减少大模型微调的计算开销和内存消耗,适用于微调大型预训练模型,尤其在自然语言处理等任务中具有显著的效果。
2024-10-09 13:00:57
878
原创 机器学习相关书籍
1. 机器学习发展历史与基础《人工智能:现代方法》 (Artificial Intelligence: A Modern Approach) by Stuart Russell and Peter Norvig内容:这本书是人工智能领域的经典著作,涵盖了人工智能的历史、方法、及其在各个领域的应用。虽然主题包括广泛的AI内容,但机器学习在其中占据了很大的篇幅,且提供了深入的历史视角和理论背景。适合:任何希望了解人工智能(尤其是机器学习)历史的人。《机器学习的数学基础》 (Mathematics
2024-10-09 12:56:07
626
原创 什么是Transformer 模型
是一种用于处理序列数据的深度学习模型,最初是为自然语言处理(NLP)任务设计的。它由Vaswani等人在2017年提出,并迅速成为NLP领域的主流架构。与传统的循环神经网络(RNN)和长短时记忆(LSTM)相比,Transformer在并行处理、捕捉长距离依赖性等方面表现更好。
2024-10-09 12:54:57
855
原创 机器学习的发展史
机器学习的早期概念和基础理论开始形成,如图灵测试、感知器模型等。:专家系统和符号主义AI的主导期,同时统计学习方法和早期神经网络逐步发展。1990s:统计学习方法(如SVM、贝叶斯网络)和神经网络(反向传播算法)的突破。2000s:数据驱动学习和集成学习方法兴起,大数据的涌现推动了机器学习的广泛应用。2010s:深度学习的崛起带来了革命性变化,特别是在图像处理、自然语言处理、强化学习领域的突破。2020s。
2024-10-09 12:52:10
1777
原创 什么是机器学习模型
机器学习模型是通过从数据中学习模式来解决问题的数学模型。不同类型的机器学习模型可以应用于不同任务,如分类、回归、聚类、数据生成等。随着数据规模的增加和计算资源的提升,机器学习模型在多个领域表现出强大的能力,并广泛应用于许多实际场景。
2024-10-09 12:51:20
1121
原创 如何训练并使用大模型,通过代码进行示例
1. 加载数据集# 2. 加载模型和分词器# 3. 数据预处理# 4. 设置训练参数# 5. 初始化Trainer# 6. 开始训练# 7. 推理。
2024-10-09 12:49:17
733
原创 什么叫做预训练和微调
预训练:在大规模的通用数据集上先进行训练,学习通用的特征和模式,适用于多种任务。微调:在具体任务上对预训练模型进行进一步训练,使模型更好地适应该任务的需求。通过预训练和微调的结合,模型可以在不同的任务中取得出色的表现,同时减少数据和计算资源的需求。这种方法广泛应用于NLP、计算机视觉等领域,尤其是在深度学习中取得了显著的进展。
2024-10-09 12:47:37
1112
原创 什么是注意力机制和嵌入层
注意力机制:用于动态选择输入序列中最相关的信息,解决序列模型在处理长距离依赖时的局限性。嵌入层:用于将离散的输入(如单词、字符等)转换为低维、连续的向量表示,方便神经网络处理文本数据。这两种技术广泛应用于自然语言处理、机器翻译、文本生成等任务,是现代深度学习模型的核心构件。
2024-10-09 12:46:52
781
原创 什么是大模型
大模型(Large Model)通常指的是参数量非常庞大的机器学习模型,特别是在深度学习领域中。近年来,随着计算资源和数据量的增长,模型的规模迅速扩大,这些大模型能够在复杂任务上取得出色的性能,尤其是在自然语言处理(NLP)、计算机视觉、生成式模型等领域。
2024-10-09 12:45:06
1118
原创 神经网络及其架构和模型的关系
神经网络是一种机器学习模型的类型,基于生物神经元的启发,具有学习和推理的能力。它是实现模型的基础构造单元。架构是神经网络的设计框架,定义了神经网络的具体结构和连接方式。不同的架构适用于不同的任务,它是构建神经网络的蓝图。模型是基于某种架构,经过数据训练得到的最终产品。它包含了经过训练的参数(权重和偏置),并能够在实际任务中执行推理或预测。
2024-10-09 12:39:12
1611
原创 模型及模型架构的通用性
然而,通用性并不是绝对的,有时还需要根据具体的任务或数据对架构进行调整或设计新的模型。因此,模型架构的通用性更多的是相对的,取决于它是否适合特定的任务和数据类型。体现在其可以通过结构上的变化和创新(如ResNet的残差连接、Transformer的自注意力机制)来适应不同的任务和领域。训练好的模型具备很强的迁移学习能力,可以通过预训练和微调,适应更加细分领域的任务。模型架构提供了一种基础的设计框架,通过在此基础上进行修改或扩展,可以适应不同的任务和应用场景。## 模型和模型架构都有一定的延展性。
2024-10-09 12:37:18
675
原创 Eigen 简单介绍
Eigen 是一个用于 C++ 的高性能线性代数库,专注于矩阵和向量的运算。它支持多种操作,包括矩阵乘法、矩阵分解、特征值计算、线性方程求解等。Eigen 被广泛用于科学计算、机器学习、计算机图形学等领域。
2024-10-09 12:32:31
486
原创 B站8K视频无法使用GPU加速只能通过CPU解码
而我的显卡是GTX 1060 3G,不支持AV1编码,所以只能通过CPU软解,同时CPU性能也很菜,所以即便跑满了也会非常卡。所以如果网页视频播放相关的设置都是对的,那大概率是显卡不支持视频编码导致,升级一下显卡吧。的时候我的显卡GTX 10603g 还顶得住,使用率在50%左右。根据以下资料可以看出4K视频是H.264编码,8K是AV1编码。的时候,GPU完全闲置,CPU却跑满了。查了一下应该是视频编码的问题。在使用Edge看B站。
2024-10-09 12:30:17
1196
原创 Windows 编译 tabb-level-set-segmentation
找到 tabb-level-set-segmentation\level-set-segmentation\src\LevelSetWrite.cpp,将。打开everything,搜索标记为not found的dll文件,并拷贝到 level_set_seg 所在文件夹。根据 tabb-level-set-segmentation/README.md 来找测试用例并测试。,此时在命令行执行 level_set_seg 会显示缺少dll文件,或者啥都不会显示,打开。安装完成后,打开环境变量,将。
2024-10-06 10:59:44
839
原创 rsync 出现 “sending incremental file list “
表示rsync正在发送那些需要同步的(增量的)文件列表,而不是整个文件集合。文件名列表:接下来的输出会列出那些需要同步的文件名。
2024-09-22 08:52:58
1158
原创 Protobuf 的工作原理
填充字节:在protobuf的序列化过程中,填充字节不会被考虑,因为protobuf以紧凑的二进制格式存储数据,按字段编码实际数据。传输效率:使用protobuf可以减少传输数据的开销,因为它使用了紧凑的编码格式,并且不会传输填充字节。网络传输:通过protobuf序列化的数据流是经过压缩和优化的,不会包括结构体内存对齐相关的填充字节。因此,protobuf能够有效地减小数据的传输压力,并且不受结构体内存对齐操作的影响。
2024-09-21 15:40:45
645
原创 使用/dev/shm 提高I/O性能
通过将临时文件、中间文件或频繁访问的文件存放在/dev/shm中,可以显著提升各种命令和程序的执行速度。这种方法特别适用于对磁盘 I/O 敏感的任务,如编译、压缩解压、数据处理和日志分析等场景。在 Windows 上没有原生的类似/dev/shm的内存文件系统,但通过创建RAM Disk可以实现类似的效果,将编译时的中间文件或临时文件存放到 RAM Disk 上,极大提高读写性能。对于大型项目的编译或需要大量临时文件操作的任务,RAM Disk 是一种有效的加速方案。
2024-09-21 15:37:49
1234
原创 C/C++如何build并链接资源文件
如果你使用链接脚本自定义了一个段来存储资源文件,可以通过变量名来访问资源。链接脚本示例SECTIONS {代码中指定段// 图片二进制数据编译后的程序可以直接通过image_data符号名访问资源数据。符号名是全局的,因此可以在任何地方使用。符号名访问:如果将资源文件嵌入到程序中(例如通过数组或自定义段),资源文件的名字通常作为符号名存在,可以直接通过这些符号名访问资源。平台资源系统:在 Windows 等操作系统下,资源文件通过资源编译系统(如.rc文件)与程序绑定,不通过符号名,而是通过资源 ID。
2024-09-21 15:33:00
1757
原创 为什么要创建Python虚拟环境
安装库时,它们会安装在系统的全局路径,而不是虚拟环境中的路径。虚拟环境不会自动访问或引用全局环境的库,除非手动配置,因此在虚拟环境内你需要重新安装所需的库。这样可以保持系统的干净,防止全局安装的库在不同项目中造成不必要的冲突。虚拟环境允许为每个项目单独管理依赖项,避免多个项目之间库版本不兼容的问题。至于为什么虚拟环境之外安装的库在虚拟环境内不能用,这是因为虚拟环境是一个隔离的 Python 运行环境,包含自己独立的。创建虚拟 Python 环境的主要目的是隔离项目的依赖,以避免不同项目之间的库版本冲突。
2024-09-21 15:27:53
383
原创 新手第一次跑大模型
如果你有GPU,可以利用其加速模型的推理。库,下载并运行一个简单的大模型,比如GPT或BERT。确保你有足够的内存和磁盘空间,大模型(如GPT-2或更大的模型)可能需要较大的内存和磁盘。这将下载GPT-2模型(第一次运行时)并生成一个包含50个标记的文本。如果你的模型较大或者需要并行处理数据,还可以考虑使用分布式训练库如。首先确保你已经安装了Python及其相关依赖库,比如。预训练模型下载后会被缓存,下次运行时不需要重新下载。运行这段代码时,模型会利用GPU来加速推理。,以便安装深度学习框架。
2024-09-21 15:26:40
1286
原创 英语句子成分简单介绍
句子中的主要执行者或被描述的对象。主语通常是一个名词或代词,有时还可以是名词短语或名词性从句。例如:“: 表达主语所做的动作或状态。谓语通常是一个动词或动词短语。例如:“She.”这两个成分是构成句子的最基本的要求。除了主语和谓语,句子还可以包含其他成分,如宾语、状语、补语等,这些成分提供更多的细节和信息。: “Shea book.”: “She但至少要有主语和谓语,才能构成一个完整的句子。
2024-09-21 15:23:21
1093
原创 字节序的简单介绍
大端字节序和小端字节序定义了数据在内存中的存储顺序。转换涉及将数据字节的顺序反转。Python和C提供了方法来实现字节序转换,利用简单的字节操作或内置函数。sizeof可以正确地获取结构体在内存中的实际大小,包括填充字节和对齐要求。字节序转换需要针对每个数据成员进行处理。直接对整个结构体进行字节序转换可能会导致问题,因为成员之间的对齐和填充可能会干扰转换的正确性。对于复杂的结构体,特别是包含浮点数和位域的情况,确保理解各成员的字节顺序和对齐要求,并逐个进行字节序转换。逐个处理成员。
2024-09-21 15:21:35
1090
原创 uImage & zImage
User Space(用户空间):应用程序运行的地方,无法直接与内核和硬件交互,必须通过系统调用与内核交互。uImage:为 U-Boot 引导加载程序准备的特殊内核映像格式,包含 U-Boot 所需的额外头部信息。zImage:压缩后的 Linux 内核映像,可以直接用于某些引导加载程序。
2024-09-21 15:17:57
732
原创 HDD出现“炒豆子”的声音
机械硬盘(HDD)发出的“炒豆子”的声音通常指的是硬盘在工作时发出的异响,这种声音可能是由几个因素造成的。这个声音通常是由于硬盘内部的机械部件(如磁头、盘片等)在操作时发出的噪音。
2024-09-21 15:15:32
2620
原创 Linux ~目录下的隐藏文件分析
你在家目录下看到的这些文件和目录中包含了许多以点号 () 开头的隐藏目录和文件。这些文件和目录通常包含了用户的配置文件、缓存、历史记录等信息。
2024-09-21 15:14:52
547
原创 HDD健康分析
通过以上工具和方法,你可以有效地监控和评估 HDD 的健康状态和性能。定期检查硬盘的 SMART 信息、使用制造商的工具、监控系统日志以及定期进行磁盘健康检查,可以帮助你提前发现潜在问题并采取相应措施,确保数据的安全性和系统的稳定性。
2024-09-21 15:13:58
529
原创 Conda 和 CUDA
(Compute Unified Device Architecture)是由NVIDIA开发的一种并行计算平台和编程模型,允许开发者在NVIDIA的GPU(图形处理单元)上进行通用计算(即不是仅用于图像处理的计算)。是一个开源的包管理系统和环境管理器,主要用于安装和管理各种软件包、依赖关系以及虚拟环境,特别在科学计算、数据分析、机器学习等领域广泛应用。它不仅仅限于Python包,还支持其他语言的包管理。Miniconda:一个更轻量的Conda,仅包含Conda工具本身,用户可以根据需要安装特定的包。
2024-09-21 15:09:43
923
原创 VScode 查看C/C++代码排除不相关目录
尽管不支持直接排除文件,但你可以通过排除文件所在的目录,并手动添加需要解析的其他文件,来实现类似的效果。如果你有更复杂的需求,建议使用编译数据库来更好地控制文件级的解析行为。
2024-09-21 15:03:47
1606
原创 VScode的右下角的“Parsing open files“是什么意思
VSCode 可以让你通过点击某个符号(如函数或类名)快速跳转到其定义或声明。
2024-09-21 15:02:21
796
原创 vGlite的简单介绍
vGlite 是一个嵌入式系统的图形加速引擎,主要用于 2D 图形处理,而不属于传统的 GPU 范畴,但它确实能提供图形处理能力,特别是在低功耗和资源受限的环境中。GUI 绘制和显示流程分为布局与排版、绘制、合成、显示四个主要步骤。vGlite主要加速2D 绘制和图层合成,这些是嵌入式系统中 GUI 性能的关键部分。它通过硬件加速帮助实现更高效的图形渲染和界面响应速度。
2024-09-15 08:05:29
1953
android-x86-64-9.0-r2.iso
2023-02-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人