- 博客(180)
- 资源 (19)
- 收藏
- 关注
原创 JavaScript 将一个带K-V特征的JSON数组转换为JSON对象
数据处理过程中,要将一个包含 `key` 和 `value` 属性的 JSON 数组整合成一个 JSON 对象(其中每个元素的 `key` 作为属性名,`value` 作为属性值),以下是几种常用的 JavaScript 实现方法及示例
2025-06-14 12:11:52
343
原创 NumPy 数组花式索引(Fancy Indexing)
前面的博客分享了我对于NumPy数组索引的学习心得——如何使用简单索引(例如 arr[0])、切片(例如 arr[:5])和布尔掩码(例如 arr[arr > 0])来访问和修改数组的部分内容。这里,我们将介绍另一种数组索引方式,称为花式或矢量化索引,其中我们用索引数组代替单个标量。这种方式可以让我们非常快速地访问和修改数组中复杂子集的值。
2025-06-14 12:02:56
1033
原创 调用AkShare获取A股股票基本信息
本文通过 AkShare 获取了 A 股市场全部股票的实时行情和基本信息,并实现了批量查询、数据清洗、异常处理和中英文字段映射。最终,整理输出了结构化的个股基本信息表(支持 CSV、Excel 格式),为后续的数据分析和可视化打下数据基础。
2025-06-13 21:18:00
425
原创 分布假设学习笔记
分布假设在大多数自然语言处理场景下是成立的,尤其是在大规模语料和统计学习方法中表现良好。它为词向量、文本聚类等任务提供了理论基础。然而,分布假设也有局限性:它主要关注词的表面共现关系,难以捕捉深层语义、常识推理或上下文依赖极强的语言现象。因此,现代NLP模型(如BERT、GPT)在分布假设基础上,结合了更复杂的结构和预训练目标,以提升对语言的理解和生成能力。尽管存在一些分布假设不适用的反例,但它仍然是一个非常有用的概念,构成了今天语言类Transformer模型的基石。
2025-06-13 21:06:10
714
原创 ViT架构所需的大型训练集
本文主要介绍了ViT(Vision Transformer)与CNN在归纳偏置、平移不变性/等变性等方面的差异。CNN通过局部连接、权值共享等强归纳偏置,天然具备空间结构感知和一定的平移不变性/等变性,能在小数据集上表现良好。ViT则弱化了这些归纳偏置,依赖自注意力机制和大规模数据集,通过位置编码和分块输入等方式学习全局特征关系。虽然ViT在小数据集上不如CNN,但在大规模有标签数据集预训练下,能够学到丰富的特征表达,取得优异性能。整体来看,ViT的成功依赖于大数据和强大的模型容量,通过端到端学习实现了对视
2025-06-12 21:12:13
1164
原创 全连接层和卷积层等效情况举例
本文通过具体的PyTorch代码和可视化示例,演示了全连接层(Linear)和卷积层(Conv2d)在两种特殊情况下的等效性:当卷积核大小等于输入特征的空间尺寸时,卷积操作等价于全连接操作。此时,每个卷积核覆盖整个输入区域,权重和偏置可以一一对应映射到全连接层。当卷积核大小为1×1,且输入通道数等于全连接层输入特征数时,卷积层的每个输出通道等价于全连接层的一个输出单元。此时,卷积层的权重和偏置同样可以直接赋值自全连接层,实现完全等价的前向传播结果。通过实验验证,两种情况下卷积层和全连接层的输出完全一
2025-06-11 21:59:26
1223
原创 全连接层和卷积层
卷积层的参数和计算方式与全连接层完全一致,能够实现相同的线性变换。因此,在实际应用中,可以通过调整卷积核的大小和参数设置,使卷积层严格等价于全连接层。卷积层不仅能实现全连接层的功能,还能更高效地处理具有空间结构的数据,是深度学习中图像等任务的首选结构。
2025-06-11 21:14:44
994
原创 参数量计算举例
本文介绍了一个包含卷积层、池化层和全连接层的典型卷积神经网络结构,并详细讲解了各层参数量的手工计算与编程实现。通过 .parameters() 方法和 torchinfo 工具,展示了如何自动统计模型参数量和内存占用。随后,介绍了Adam优化器的参数管理方式,并分析了添加批归一化(BatchNorm)层后对参数量的影响。整体流程涵盖了模型结构设计、参数量与内存计算、优化器使用及正则化方法,为理解和实践深度学习模型的参数管理提供了系统的参考。
2025-06-10 22:41:13
831
原创 卷积神经网络参数量计算
本文介绍了卷积神经网络(CNN)各类层的参数量计算方法,包括卷积层、全连接层、分组卷积、深度可分离卷积等,并分析了参数量在模型复杂度评估、硬件资源分配、模型优化和学术对比中的核心价值。通过具体公式和示例,帮助读者理解如何量化和优化神经网络的参数规模,以指导实际应用和研究。
2025-06-10 21:41:54
1225
原创 C++ Saucer 编写Windows桌面应用
使用Saucer框架,开发Windows桌面应用,把一个html页面作为GUI设计放到Saucer里,隐藏掉运行时弹出的控制台窗口(当cmake项目非Win32时,在Windows环境下会弹出控制台),同时禁用最大化按钮。
2025-06-09 16:32:29
996
原创 PySide6 GUI 学习笔记——常用类及控件使用方法(多行文本控件QTextEdit)
QTextEdit 是 PySide6 中用于编辑和显示纯文本和富文本的控件。它提供了强大的文本处理能力,支持 HTML 样式标签和 Markdown 格式,能够处理大型文档并快速响应用户输入。
2025-06-07 22:01:38
1171
原创 PySide6 GUI 学习笔记——常用类及控件使用方法(单行文本控件QLineEdit)
QLineEdit 是 PySide6(Qt for Python)中用于单行文本输入的控件。它支持文本编辑、光标控制、文本选择、输入掩码、校验器等多种功能,广泛应用于表单、搜索框等场景。
2025-06-07 21:37:39
483
原创 关于华为仓颉编程语言
仓颉编程语言凭借高效、安全、全场景适配等特性,成为鸿蒙生态的重要支柱。其设计融合了现代语言的优点,虽编译器实现尚未完全公开,但工具链的成熟度和社区生态已展现出潜力。对于开发者而言,仓颉的学习曲线接近Python和Go,适合全栈及智能应用开发。
2025-06-06 23:02:26
3496
2
原创 一些免费的大A数据接口库
最近打算储备一些接口,于是结合AI做了简单的整理,后续再一个一个尝试。以下是目前可用的免费A股行情数据接口及使用指南,结合稳定性和易用性综合推荐
2025-06-06 22:53:06
1987
原创 NumPy 比较、掩码与布尔逻辑
本文介绍如何使用布尔掩码来检查和操作 NumPy 数组中的值。当你想根据某些条件提取、修改、计数或以其他方式处理数组中的值时,就会用到掩码:例如,你可能希望统计所有大于某个值的元素,或者移除所有高于某个阈值的异常值。在 NumPy 中,布尔掩码通常是完成此类任务最高效的方法。
2025-06-05 20:14:29
985
原创 Rust Floem UI 框架使用简介
在Windows系统中,默认生成的GUI界面在运行的时候会弹出命令行窗口(控制台),要去掉这个窗口,可以通过以下cargo命令实现
2025-06-05 19:39:31
1318
1
原创 Rust 控制流
在大多数编程语言中,根据条件是否为真来运行某些代码,以及在条件为真时重复运行某些代码,是最基本的构建块。Rust 中最常见的控制代码执行流程的结构是 if 表达式和循环
2025-06-04 18:58:40
1749
原创 机器学习算法分类
机器学习算法根据不同的分类标准可分为多种类型,以下综合多个来源的权威分类方式,从学习范式、任务目标和模型结构三个核心维度进行系统梳理
2025-06-04 15:50:43
909
原创 Rust 函数
函数在 Rust 代码中非常常见。你已经见过了语言中最重要的函数之一:main 函数,它是许多程序的入口点。你还见过 fn 关键字,它允许你声明新的函数。Rust 代码采用蛇形命名法(snake case)作为函数和变量名的惯用风格,即所有字母小写,单词之间用下划线分隔。
2025-06-03 18:40:59
1162
原创 Rust 数据类型
在 Rust 中,每个值都有特定的数据类型,数据类型告诉 Rust 该如何处理这些数据。我们将介绍两类数据类型:标量类型和复合类型。
2025-06-03 17:52:37
925
原创 Rust 变量与可变性
Rust中变量默认是不可变的,这是 Rust 鼓励你编写更安全、易于并发代码的众多方式之一。不过,你仍然可以选择让变量可变。让我们来探讨 Rust 为什么鼓励你优先使用不可变性,以及为什么有时你可能需要选择可变性。
2025-06-02 11:51:56
1016
原创 随机性的起源
本文系统梳理了深度学习和生成式AI中随机性的主要来源,包括模型参数初始化、数据加载与打乱、mini-batch采样、Dropout等正则化方法,以及硬件和底层库实现的差异。文中通过代码示例展示了如何通过设置随机种子提升实验的可复现性,但也指出即使如此,不同硬件和库版本仍可能导致结果微小差异。此外,生成式AI中的采样策略(如top-k和top-p采样)也是随机性的重要体现。理解和合理控制这些随机性,有助于提升模型的可复现性、泛化能力和生成多样性,是机器学习实验和应用中的关键环节。
2025-06-02 11:17:07
1081
原创 PySide6 GUI 学习笔记——常用类及控件使用方法(标签控件QLabel)
本文介绍了 PySide6 中 QLabel 控件的常用属性、方法及其应用场景,并通过两个 Python 代码示例演示了 QLabel 在文本、富文本、图片及超链接等方面的实际用法。QLabel 适合用于显示静态文本或图片,支持丰富的文本格式和交互功能,是 GUI 编程中常用的基础控件之一。
2025-06-01 11:55:10
619
原创 PySide6 GUI 学习笔记——常用类及控件使用方法(地址类QUrl)
QUrl 是 PySide6.QtCore 模块中的一个类,用于处理和操作 URL(统一资源定位符)。它可以解析、构建、修改和验证 URL 字符串,广泛应用于网络编程和需要处理地址的场景。
2025-06-01 11:06:17
1214
原创 生成式AI模型学习笔记
本文系统梳理了主流深度生成式模型的类型及其特点,包括能量模型、变分自编码器(VAE)、生成对抗网络(GAN)、流模型、自回归模型、扩散模型和一致性模型。各类模型在生成方式、训练目标、样本质量、采样速度等方面各有优劣。能量模型和 VAE 以概率建模为核心,GAN 通过对抗训练生成高质量样本,流模型强调可逆性和精确似然计算,自回归模型适合序列建模,扩散模型和一致性模型则在高质量生成和高效采样之间取得平衡。生成式模型已广泛应用于图像、文本、音频等领域,并持续推动 AI 技术进步。
2025-05-31 12:09:16
813
原创 NumPy 数组计算:广播机制
我们在NumPy数组的计算:通用函数中看到,NumPy 的通用函数可以用于向量化操作,从而避免缓慢的 Python 循环。本章将讨论广播机制:这是一组规则,使得 NumPy 能够在不同大小和形状的数组之间应用二元操作(如加法、减法、乘法等)。
2025-05-31 11:17:03
1063
原创 Rust 编程实现猜数字游戏
我们使用cargo和rust实现一个经典编程练习——猜数字游戏,在实践中掌握Rust核心概念:let绑定、match模式匹配、方法、关联函数、外部包(crate)等。
2025-05-30 21:30:44
1198
原创 将ipynb文件转换为markdown格式文件
有时候,我们需要把Jupyter notebook的.ipynb格式文件转换为markdown格式.md,便于使用。那么,我们可以通过安装nbconvert包,实现这个功能。
2025-05-30 20:30:57
360
原创 NumPy 聚合:最小、最大值及此间一切
探索任何数据集的第一步通常是计算各种汇总统计量。也许最常见的汇总统计量是均值和标准差,它们能让你总结数据集中的"典型"值,但其他聚合函数同样有用(如求和、乘积、中位数、最小值和最大值、分位数等)。在处理数组方面,NumPy具有高效快速的内置聚合函数;我们将在这里讨论并尝试其中的一些函数。
2025-05-29 18:39:32
1246
原创 Rust使用Cargo构建项目
Cargo是Rust的构建系统和包管理器。绝大多数Rust开发者使用这个工具管理项目,因为它能自动化处理诸多任务:代码编译、依赖库下载、依赖构建等(代码所需的库文件称为依赖)。即使是简单的"Hello, world!"项目(无依赖),使用Cargo也能获得规范的工程结构。随着项目复杂度提升,Cargo在依赖管理方面的优势将愈发明显
2025-05-29 13:17:46
1510
原创 Rust 的Hello World
之前介绍了Rust的安装,那么,我们编写第一个Rust程序。遵循编程语言学习的传统,我们将编写一个在屏幕上打印"Hello, world!"的小程序!
2025-05-28 14:09:00
1151
原创 Python 使用docx2markdown转换docx和markdown文件
docx2markdown是基于Python开发的文档格式双向转换工具,支持Microsoft Word(.docx)与Markdown(.md)格式的相互转换。该工具专注于保留基础文档结构,适用于技术文档、简单报告等格式转换场景。docx2markdown是pypandoc的一个替代方案。
2025-05-28 11:49:05
1022
原创 Rust 开发的一些GUI库
根据2025年最新调研结果和社区实践,Rust GUI库生态已形成多个成熟度不同的解决方案。以下是当前主流的GUI库分类及特点分析,结合跨平台支持、开发体验和实际应用场景进行综合评估。
2025-05-27 12:00:05
1082
原创 NumPy 数组计算:通用方法
迄今为止,我们已探讨了NumPy的基础知识。接下来的章节中,我们将深入解析NumPy在Python数据科学领域占据重要地位的根本原因:其通过提供简洁灵活的接口,可实现对数据数组的高效计算。NumPy数组的计算可能极其高效,也可能异常缓慢。实现高效计算的关键在于采用向量化操作,这些操作通常通过NumPy的*通用函数*(universal functions,简称ufuncs)来实现。本章将深入阐述NumPy通用函数的必要性——它们能显著提升对数组元素进行重复计算的效率,并系统介绍NumPy包中最常用且
2025-05-26 13:39:56
1326
原创 PySide6 GUI 学习笔记——常用类及控件使用方法(光标类图标QCursor)
QCursor 类用于管理鼠标光标形状与位置。支持预定义光标、自定义位图/掩码光标,并提供全局光标位置控制。
2025-05-26 13:13:11
1031
原创 PySide6 GUI 学习笔记——常用类及控件使用方法(常用类图标QIcon)
QIcon 是 Qt for Python 中用于管理可缩放图标的类,支持多种显示模式和状态。它能够根据不同的 UI 场景(如正常、禁用、激活、选中等状态)自动选择合适的图标样式,并支持从图像文件、主题系统或图标字体加载图标。
2025-05-25 19:42:10
447
原创 PySide6 GUI 学习笔记——常用类及控件使用方法(常用图像类)
PySide6 提供了 QImage、QPixmap、QPicture 和 QBitmap 四个类,用于处理图像。QPixmap 适合将图像显示在电脑屏幕上,可以使用QPixmap在程序中打开png、jpeg等图片。QBitmap是QPixmap的子类,用于处理位图,它的色深限定为1,颜色只有两种:黑色和白色,用于制作光标QCursor或画刷QBrush等。QImage专门读取像素文件,其存储独立于硬件,是一种QPaintDevice设备,可直接在QImage上用QPainter进行图像绘制,且可以在另
2025-05-25 19:10:28
711
vue3 typescript gauge仪表盘效果示例
2024-04-24
nvm-windows (symlink识别修改)源代码及应用程序
2023-09-19
OpenCV-4.5.5 Visual Studio 2019 (VC16)源代码
2022-04-16
OpenCV4.5.5及OpenCV-contrib源代码(适用于VS2019及VS2022)
2022-04-17
[Go语言入门(含源码)] The Way to Go (with source code)
2014-06-11
Pro LINQ: Language Integrated Query in C# 2010 (含源码)
2014-06-17
Android攻略第二版 Android Recipes 2nd Edition Dec 2012 (含源代码)
2014-03-18
VC操作Word文件
2015-09-17
Pro WPF 4.5 in C# (Pro WPF系列第四版 英文书及其源代码)
2014-02-17
iText in Action 2nd Edition iText实战第二版(含源代码)
2013-02-26
Cryptography in C and C++, Second Edition (With Source Code)
2013-10-17
Pro WPF in C# 2010 (第三版,英文原版及源代码)
2014-02-17
VarCfg C# 简单XML配置类
2012-05-08
锋利的jQuery
2012-05-11
jquery.validation 工具
2013-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人