
笔记
文章平均质量分 87
kanhao100
这个作者很懒,什么都没留下…
展开
-
为什么FPGA中一般不使用浮点数进行计算?
然而,对于浮点精度,所有乘积结果都必须在加法之前进行移位,这使得无法利用 DSP 的级联电路进行优化。本文提出了一种新的浮点格式 , 称为共享指数浮点 (SFP),旨在结合低精度和共享指数方案的优势。此外,我们对多种神经网络进行了测试,结果表明,该格式可用于直接量化全精度模型,并且无需微调即可实现非常低的精度损失(±1%)。块中的每个数据由 E ,年代 和 M ,分别表示指数、符号、尾数部分,其中 S 和 M 构成数字的小数部分,并且 E 是指数部分。通过在块内共享指数,我们可以有效地压缩浮点数据的大小。原创 2025-04-21 13:55:19 · 1041 阅读 · 0 评论 -
深入探讨 PyTorch 的 `nn.Unfold`
nn.Unfold是一个用于将输入特征图(通常是图像)展平为其局部块的模块。通过这个过程,我们可以将卷积操作转化为矩阵乘法,从而充分利用线性代数的高效性。nn.Unfold主要用于将图像分解为重叠的小块,这些小块可以被视为卷积核的输入。nn.Unfold是一个非常强大的工具,可以帮助我们将图像展平为局部块,以便进行卷积操作。通过理解其原理和应用,我们可以更好地利用它来构建高效的深度学习模型。希望本文能帮助您深入理解nn.Unfold的使用及其在深度学习中的重要性!如果您有任何问题或想法,欢迎在评论区讨论。原创 2025-04-03 10:36:26 · 301 阅读 · 0 评论 -
深入理解 PyTorch 中的 nn.AdaptiveAvgPool2d 上采样 下采样
在深度学习特别是卷积神经网络(CNN)的世界中,池化层是一个不可或缺的组成部分。池化操作能够降低特征图的空间维度,减少计算量,提取关键特征,并在一定程度上提供平移不变性。PyTorch 作为当前最流行的深度学习框架之一,提供了多种池化层实现,其中 `nn.AdaptiveAvgPool2d` 是一个特别灵活且强大的自适应平均池化层。与传统的池化操作不同,自适应池化操作不需要明确指定池化窗口的大小和步长,而是根据目标输出尺寸自动计算所需的池化参数。这种设计使得 `nn.AdaptiveAvgPool2d`原创 2025-04-01 10:37:29 · 1465 阅读 · 0 评论 -
PyTorch 中的转置操作:深入理解 `transpose()` 和 `permute()
在深度学习的日常工作中,我们经常需要调整张量的形状和维度顺序。无论是处理图像数据、序列数据,还是实现复杂的神经网络架构,张量维度的操作都是必不可少的技能。PyTorch 作为当前最流行的深度学习框架之一,提供了两个强大的维度转置函数:`transpose()` 和 `permute()`。这两个函数虽然都用于调整张量的维度顺序,但在功能、适用场景和性能上存在显著差异。本文将深入探讨这两个函数的原理、使用方法、区别以及实际应用场景,帮助你全面掌握 PyTorch 中的维度转置技术。无论你是刚接触深度学习的原创 2025-04-01 10:06:51 · 501 阅读 · 0 评论 -
Windows 11文件系统新选择:ReFS与NTFS全面对比及文件系统抽象层级详解
据消息人士透露,在Windows 11的最新预览版(Build 27823)中,微软正尝试引入一项突破性的存储配置选项,允许用户在装机过程中选择ReFS文件系统,以替代长期以来默认的NTFS格式。这一潜在变革引发了技术社区的广泛关注,标志着Windows桌面版操作系统存储策略可能迎来重大转变。本文将深入探讨ReFS与NTFS这两种文件系统的特点与区别,并复习文件系统的抽象层级结构,帮助读者全面理解这一技术发展的意义。原创 2025-03-31 13:54:47 · 1052 阅读 · 0 评论 -
Python也能make?——Makefile:起源、本质与跨平台差异
Makefile的核心概念——基于文件修改时间的增量构建和依赖关系管理——仍然影响着今天的软件构建系统,展示了优秀设计的持久价值。Microsoft选择开发自己的构建工具(如NMAKE和MSBuild),而不是采用Unix的make工具,这反映了两种不同的技术路径。从你的认知来看,Makefile确实常被用来编写gcc/g++的批量处理命令,但这只是Makefile的一种常见用途,而非其全部。这些例子展示了Makefile作为通用自动化工具的灵活性,可以用于各种不同的任务,而不仅仅是C/C++编译。原创 2025-03-29 21:06:59 · 1064 阅读 · 0 评论 -
Gurobi:高效的数学优化求解器
Gurobi 是由 Gurobi Optimization, LLC 开发的一款强大的数学优化软件。它支持多种优化问题类型,包括线性规划(LP)、整数规划(IP)、混合整数规划(MIP)、二次规划(QP)和非线性规划(NLP)。Gurobi 以其高效的求解算法和灵活的建模能力而闻名,能够快速找到最优解。Gurobi 是一款功能强大且高效的数学优化求解器,广泛应用于多个领域。通过其灵活的建模接口和强大的求解能力,Gurobi 帮助用户解决复杂的优化问题,提高决策效率。原创 2025-03-25 21:51:15 · 1122 阅读 · 0 评论 -
Python中的 `super().__init__()` 详解
super_init()是确保 PyTorch 神经网络模块正确初始化的关键步骤。它调用父类nn.Module的初始化方法,设置必要的内部状态,并启用 PyTorch 的核心功能。在 Python 3 中,推荐使用更简洁的语法。无论使用哪种形式,确保在每个继承自nn.Module的类的__init__方法中调用它,这是构建正确功能的 PyTorch 模型的基础。简单来说,这行代码就像告诉您的类:“在我开始自己的初始化工作之前,请确保我从父类继承的所有功能都已正确设置好。原创 2025-03-25 17:36:47 · 1545 阅读 · 0 评论 -
调试 ResNet18 cpp实现中的段错误(SIGSEGV)问题
当GDB显示段错误发生在main()函数的第一行时,通常表明问题出在程序初始化阶段。对于ResNet18这样的深度学习模型实现,最可能的原因是栈溢出或复杂的静态初始化问题。通过增加栈大小、修改内存分配方式、使用内存调试工具,以及仔细检查初始化代码,您应该能够找到并解决这个问题。如果问题依然存在,建议使用backtrace命令获取更详细的错误信息,这将帮助您更准确地定位问题所在。原创 2025-03-21 21:44:04 · 955 阅读 · 0 评论 -
深度解析学术论文成果评估(Artifact Evaluation):从历史到现状
尽管仍面临诸多挑战,但随着技术和流程的不断完善,AE有望在未来发挥更加重要的作用,推动计算机科学研究向更开放、更可验证的方向发展。可复制性指的是不同的研究团队使用自己开发的实现或设置,根据原始研究的描述,能够获得相同或相似的结果。如果论文没有提供足够详细的方法描述,其他研究者可能无法复制相同的结果,即使原始研究本身是正确的。可重复性指的是相同的研究团队使用相同的实验设置能够获得相同或相似的结果。这是最高级别的徽章,表明评估者能够独立验证论文中的主要结论,即使在允许的误差范围内结果可能有所不同。原创 2025-03-21 20:13:24 · 672 阅读 · 0 评论 -
【科研写作】Repeatability, Reproducibility, Replicability傻傻分不清
可重复性是指同一团队在相同的实验设置下,使用相同的测量程序和系统,通过多次试验获得一致的测量结果。对于计算实验,这意味着研究人员可以可靠地重复自己的计算。再现性是指不同团队能够使用相同的测量程序和系统,在相同的实验条件下(可以在相同或不同的位置),获得一致的测量结果。再现性强调的是独立验证的能力。复制性是指不同团队在不同的实验设置下,使用不同的测量系统,仍然能够获得一致的测量结果。复制性强调的是研究的普适性。原创 2025-03-19 17:37:13 · 1353 阅读 · 0 评论 -
ResNet18 的 “18 层“ 具体指的是哪些层
详细解释 ResNet18 的 “18 层” 具体指的是哪些层,并按照 4 个 stage 的结构逐步说明。跳跃连接 (shortcut): 如果输入和输出维度不同,shortcut 会使用 1x1 卷积进行调整。希望这个详细的解释能够让你清楚地了解 ResNet18 的结构和层数。跳跃连接 (shortcut): 将残差块的输入直接加到输出上。注意:池化层通常不算在 “层数” 中,因为它没有可学习的参数。跳跃连接 (shortcut)跳跃连接 (shortcut)原创 2025-03-19 11:50:01 · 999 阅读 · 0 评论 -
QKeras、Brevitas和QONNX量化工具对比
在深度学习模型部署领域,量化技术已成为提升模型执行效率的关键手段。通过将浮点权重转换为低精度表示,量化能显著减小模型体积、降低内存占用并加速推理过程。对于资源受限的设备(如移动设备、嵌入式系统和边缘计算设备),量化技术尤为重要。本文深入对比三款主流量化工具:QKeras、Brevitas和QONNX,从用户实际应用角度剖析它们的技术特点、应用场景及优缺点。原创 2025-03-19 11:07:46 · 956 阅读 · 0 评论 -
【DNN量化工具】QKeras 工具简介
QKeras 是一个强大的工具,使得量化深度学习模型变得更加容易和高效。通过与 Keras 的兼容性,开发者可以轻松地在现有模型中集成量化,优化模型的存储和推理性能。对于需要在资源受限环境中部署的深度学习应用,QKeras 是一个值得考虑的解决方案。希望本简介能够帮助您快速入门 QKeras,并探索其在深度学习中的应用。原创 2025-03-19 10:58:09 · 777 阅读 · 0 评论 -
小样本学习入门指南:以图像识别为例
在人工智能的世界里,我们常常听说深度学习模型需要"吃"大量数据才能表现良好。但想象一下,人类只需看几张猫的照片,就能轻松识别出各种不同姿态、颜色和品种的猫。这种"举一反三"的能力,正是小样本学习(Few-Shot Learning)要赋予AI的核心能力。什么是小样本学习?小样本学习是指让模型在极少量的标记样本(通常每类只有1-5个样本)条件下,学会识别新类别的能力。与传统深度学习需要成千上万的样本不同,小样本学习更接近人类的学习方式。举个简单的例子:假设你从未见过考拉,但看了几张考拉的照片后,你就原创 2025-03-18 22:11:38 · 1723 阅读 · 0 评论 -
扔掉 print,用 icecream 来调试你的Python代码:告别调试痛点
今天,我要向你介绍一个名为 `icecream` 的Python调试库,它能解决传统 `print` 调试的诸多痛点,让你的调试过程更加优雅高效。原创 2025-03-18 14:45:46 · 721 阅读 · 0 评论 -
解决 Jupyter Notebook 中本地模块修改不生效的问题
当你在 Jupyter Notebook 中导入本地目录的库,修改后重新运行 `import` 语句却发现修改没有生效,这是因为 Python 的模块缓存机制。Python 解释器会将已导入的模块缓存在 `sys.modules` 字典中,再次导入时会直接使用缓存版本而不会重新读取文件,以提高性能。原创 2025-03-17 22:29:50 · 829 阅读 · 0 评论 -
AttributeError: module ‘pyrealsense2‘ has no attribute ‘pipeline‘错误 Jeston Xavier NX编译librealsense
AttributeError: module 'pyrealsense2' has no attribute 'pipeline'错误 Jeston Xavier NX编译librealsenseCMAKE版本问题问题描述解决方案AttributeError: module 'pyrealsense2' has no attribute 'pipeline'问题描述解决方案使用Jeston平台编译Realsense SDK的问题在Github issue上关注量很大,说明这些问题存在的是普遍现象。先说一原创 2021-08-20 13:05:21 · 2841 阅读 · 5 评论 -
一键解决OpenCV多版本共存在Cmake导入的问题
一段示例的CMakeLists.txt代码cmake_minimum_required(VERSION 2.8)set(CMAKE_BUILD_TYPE "Release")# 添加c++ 11标准支持set(CMAKE_CXX_FLAGS "-std=c++11 -O2")project(imageBasics)set(OpenCV_DIR /usr/opencv3/share/OpenCV)find_package(OpenCV REQUIRED)include_director原创 2021-08-16 10:39:57 · 710 阅读 · 0 评论