- 博客(157)
- 收藏
- 关注
原创 手撕 word2vec (CBOW&Skip-gram) - 附代码和数据集
本篇博客参考B站视频:word2vec 词向量!手写代码!本篇内容完整代码和数据集在 github : https://github.com/tangpan360/word_2_vec.git1.2 测试相似度输出相似度:这段代码是基于 Word2Vec 算法的一个实现,采用的是 Skip-gram 模型(通过目标词预测上下文词),并利用 One-Hot 编码 和 Softmax 进行训练。具体实现流程包括数据加载、分词、词向量训练以及模型保存。我们逐步解析代码:导入的库: 用于进行数值计算,特
2025-02-16 20:02:17
892
原创 词袋模型和词嵌入模型区别和关联分析(词袋模型是否属于词嵌入模型)
词袋模型是基于统计的浅层表示,词嵌入是基于学习的深层语义表示。在深度学习时代,词嵌入及其衍生技术(如Transformer)已成为NLP的基石,但词袋模型在特定场景中仍具实用价值。
2025-02-14 20:48:22
329
原创 词袋模型 (BOW) 解析及代码实战
词袋模型将文本抽象为无序词集合(“bag”),通过向量化表示实现文本数字化。Documentiwi1wi2winDocumentiwi1wi2...win其中wijw_{ij}wij表示词汇表第j个词在文档i中的出现频次或存在性(0/1)。这种表示方式使文本数据可直接输入机器学习模型。
2025-02-14 20:27:55
959
原创 理解深度学习pytorch框架中的线性层
本文将从数学角度和编程实现角度剖析它们的关系,并结合实际示例指出一些常见的坑与需要特别留意的下标对应问题。通过理解并区分“列向量”与“行向量”的不同惯例,避免因为矩阵维度或转置不当而导致莫名其妙的错误或 bug。但按照线性代数的常规写法,行数必须和输出维度匹配、列数必须和输入维度匹配。并无冲突,只是一个“列向量”和“行向量”的转置关系。这就是最传统、在数学文献或线性代数课程中最常见的表示方法。其实正是同一个道理,它和上面“数学文献里”用到的。,这就造成了在进行矩阵乘法时,需要将。是一个列向量,通常会写作。
2025-01-23 15:27:58
798
原创 深度学习中的模块复用原则(定义一次还是多次)
下面列出了必须单独定义的常见模块及原因。在深度学习中,模块复用直接影响到模型的行为和性能。模块是否可以复用原因Linear否有可学习参数,需要独立权重和偏置Conv2d否有可学习参数,需要独立卷积核LSTM否有可学习参数和动态隐藏状态否有可学习参数,需要独立权重Embedding否索引空间和嵌入维度不同Dropout是无状态,随机行为ReLU是无状态,固定行为BatchNorm视情况而定有状态,特征相同可复用,特征不同需独立定义。
2025-01-15 21:13:02
1011
原创 PyTorch 中的 Dropout 解析
从推荐位置开始:如全连接层后,先测试模型性能,再进行微调。验证集评估:通过验证集上的指标来判断 Dropout 效果,并据此调整。结合其他正则化手段:如 L2 正则化、数据增强等,多管齐下往往更有效。
2025-01-14 23:43:03
1499
原创 神经网络初始化 (init) 介绍
在深度学习的世界中,构建一个高效且性能优异的神经网络模型需要综合考虑多个因素。尽管选择合适的架构和优化算法至关重要,但权重初始化这一环节同样不容忽视。合适的初始化策略不仅能加速模型的收敛速度,提升训练稳定性,还能显著影响最终的模型性能。在深入探讨各种初始化方法之前,首先需要理解权重初始化在神经网络训练中的关键作用。如果所有神经元的权重初始化为相同的值,网络在训练初期将无法学习到多样化的特征。这是因为在前向传播和反向传播过程中,每个神经元都会计算出相同的输出和梯度,导致它们在训练过程中同步更新,学习到相同的内
2025-01-14 14:11:35
544
原创 深度学习中的学习率调度器(scheduler)分析并作图查看各方法差异
以上示例代码展示了不同学习率调度器的实现方式以及学习率随训练步骤变化的过程。选择合适的调度器可以根据具体任务和模型的需求来优化训练效果。指数衰减调度器(Exponential Decay Scheduler):适用于希望学习率持续且缓慢降低,稳定收敛的训练过程。余弦退火调度器(Cosine Annealing Scheduler):适用于需要动态调整学习率以避免局部最优,尤其适合复杂模型。步长衰减调度器(Step Decay Scheduler):适用于分阶段训练,明确划分训练阶段的任务。
2025-01-14 03:18:29
1577
原创 深入探讨多种类型的BERT模型及其应用
BERT是由Google于2018年提出的一种双向Transformer编码器,旨在通过掩码语言模型(Masked Language Modeling, MLM)和下一句预测(Next Sentence Prediction, NSP)两大任务进行预训练。其双向性使得BERT在理解上下文方面表现尤为出色,广泛应用于各种NLP任务。BERT及其衍生模型在NLP领域展现了强大的适应性和卓越的性能。根据不同的任务需求和资源限制,开发者可以选择合适的BERT模型进行微调和应用。从基础的BERT模型到各种。
2025-01-13 22:25:15
880
原创 (经过验证)在 Ubuntu 系统中为 VSCode、PyCharm 终端及 Jupyter Notebook 配置代理的完整方案
在 Ubuntu 系统中为 VSCode、PyCharm 以及 Jupyter Notebook 配置代理,最简便且通用的做法是先配置系统环境变量,以便工具自动继承;然后再根据具体需求,在各个 IDE 或 Notebook 内进行微调。首选:在~/.bashrc中设置http_proxy和ALL_PROXY等变量,并执行,使之即时生效。若某些工具无法读取系统环境变量,可在其内置的设置界面进行代理配置,或者在 Notebook 内部通过%env命令进行覆盖。
2025-01-13 17:57:39
1881
原创 基于 Selenium 实现上海大学校园网自动登录
通过访问校园网登录页面,检查页面提示是否为 “您已成功连接校园网!”,从而判断网络状态。初始化 Edge WebDriver,并设置隐式等待时间为 10 秒。主程序负责循环检测网络状态,自动化执行登录操作,确保网络连接的稳定性。模拟手动登录校园网的操作,包括输入用户名、密码和触发登录。
2025-01-12 13:42:42
418
原创 在 CentOS 上安装 Docker 和 Docker Compose(可指定版本或安装最新版本)
安装最新版本:无需特定依赖要求时,可直接获取最新特性与安全补丁。安装指定版本:在对环境兼容性要求较高、尤其是生产环境时,可选择特定版本。镜像加速器配置:国内网络环境下拉取镜像会更稳定、更快速。卸载与数据清理:提供从系统中彻底移除 Docker 及其数据的方式,便于重新配置或节省资源。常见问题处理:针对国内访问缓慢、权限等问题进行了说明。
2025-01-08 21:06:56
2994
原创 解决SSH连接时遇到的“远程主机身份验证已更改 (WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!)”警告
在使用SSH协议进行远程服务器管理的过程中,可能会遇到这样的情况:当尝试通过SSH连接到某个远程主机时,终端突然弹出一条警告信息,提示“远程主机身份验证已更改”。:如果远程服务器进行了系统重装、升级或SSH服务重新配置等操作,其SSH主机密钥很可能会随之改变。
2025-01-08 20:09:42
403
原创 深度学习基础框架通用模板 (Pytorch Template) - cifar10 图片分类为例,深度学习模板
项目链接:https://github.com/tangpan360/pytorch_template本项目是一个基于 PyTorch 的深度学习基础框架,旨在帮助用户快速实现自己的训练模型。通过替换数据集和数据预处理等模块,用户可以专注于模型开发和实验,而无需花费大量时间在基础功能的实现上,比如:框架结构清晰、模块化设计,便于扩展和复用,同时包含了一些常用的深度学习工具和方法。既适合新手快速上手,也适合高级用户构建自己的实验框架。功能模块详解1. 数据相关:存放原始数据集文件(如 CIFAR-1
2025-01-07 02:21:07
1388
原创 将本地的 Git 仓库上传到 GitHub 上(github没有该仓库)
确保您已经在本地项目目录中初始化了一个 Git 仓库。命令将本地分支推送到 GitHub。由于这是首次推送,您需要指定目标分支(通常是。参数会设置上游跟踪分支,这样以后只需要运行。命令来添加远程仓库地址。
2025-01-06 23:43:06
1079
原创 使用 PyTorch 自定义数据集并划分训练、验证与测试集
通过上述步骤,可以有效地将原始的train_data划分为训练集和验证集,并创建三个独立的Dataset和DataLoader实例,用于训练、验证和测试。这种方法不仅使数据管理更加清晰和模块化,还能提高训练过程的灵活性和可维护性。
2025-01-04 16:31:21
1940
原创 深入理解 PyTorch 的 Dataset 和 DataLoader:构建高效数据管道
在深度学习项目中,数据的高效加载和预处理是提升模型训练速度和性能的关键。PyTorch 的Dataset和DataLoader提供了一种简洁而强大的方式来管理和加载数据。通过自定义Dataset,开发者可以灵活地处理各种数据格式和存储方式;而DataLoader则负责批量加载数据、打乱顺序以及多线程并行处理,大大提升了数据处理的效率。本文将详细介绍Dataset和DataLoader的使用方法,涵盖其基本概念、最佳实践、自定义方法、数据变换与增强,以及在实际项目中的应用示例。自定义Dataset。
2025-01-04 14:30:35
1635
原创 使用LaTeX创建美观的表格:示例代码与详细解析
在学术写作和专业文档中,美观且结构清晰的表格对于展示数据至关重要。LaTeX 提供了强大的工具来创建高质量的表格。本文将详细介绍如何使用booktabs和multirow包创建一个结构清晰、美观的表格,并提供完整的代码示例。
2025-01-03 11:15:39
775
原创 如何在Windows与Linux(Ubuntu/CentOS)之间配置SSH免密登录
每人一个文件夹,统一管理分支克隆同一个仓库到不同文件夹。每人在自己文件夹中创建独立的分支开发,定期同步主分支。使用Fork机制每个人从主仓库Fork到自己的远程仓库。在服务器上各自克隆自己的远程仓库,开发完成后提交到自己的仓库,再通过Pull Request将代码合并到主仓库。
2024-12-14 15:32:32
1347
原创 使用 Pandas 读取 JSON 数据的五种常见结构解析
在日常生活中,我们经常与各种数据打交道,无论是从网上购物的订单信息到社交媒体上的动态更新。Pandas 是 Python 中用于数据分析的强大库,它能够轻松处理 JSON 数据,并将其转换为易于操作的数据表格形式——DataFrame。假设您正在整理家庭开支记录,您的 JSON 文件可能像这样组织,分为索引、列名和数据值三个部分。最后,如果您的数据是简单的二维数组,不包括任何索引或列名信息。
2024-12-12 16:31:36
606
原创 如何在 Ubuntu 终端中打开当前文件夹的图形界面
在日常使用 Linux 系统时,我们常常会在终端中执行各种操作。有时,我们需要快速地从终端切换到图形用户界面(GUI)来浏览或管理文件。对于 Ubuntu 用户来说,这变得非常简单。本文将向你介绍几种在 Ubuntu 终端中打开当前文件夹图形界面的方法,并分析每种方法的优劣,帮助你选择最适合的方式。
2024-12-12 10:56:47
1230
原创 ubuntu 使用 Times New Roman 字体在 Matplotlib 中绘图并调整字体大小
在 Ubuntu 系统中安装并验证 Times New Roman 字体。成功在 Matplotlib 中加载 Times New Roman 字体,并应用于标题、轴标签和图例。解决了字体无法加载、参数冲突等常见问题。学会通过控制字体大小,并全局应用字体设置。# 加载字体# 绘图plt.show()
2024-12-11 23:08:04
1796
原创 将VSCode添加至右键的菜单栏
1.3. 重命名完成之后-》双击Icon-》进入下图界面,找到Code.exe的路径,按图中格式命名(表示选择要在右键中显示的图标)1.4. 双击默认-》修改值为Open With VS(自定义,表示右键菜单中显示的字符串)1.2 右键1.1中新建项(Open With VS)-》新建字符串-》重命名为Icon。1.1 右键shell-》新建项-》重命名为Open With VS。1.5. 右键-》新建项-》命名为command。1、打开运行界面:Win+R。
2024-12-11 16:28:04
751
原创 解决 GitHub 克隆私有仓库时的身份验证失败问题
GitHub 弃用用户名和密码认证后,我们需要使用更安全的方式来访问私有仓库。是替代方案之一,通过简单的设置即可解决认证问题。如果你有更高的安全需求或更频繁的操作需求,也可以考虑使用SSH 密钥进行免密码访问。通过以上方法配置后,你应该能够顺利克隆、推送和拉取私有仓库,同时享受更安全的开发体验!
2024-11-20 14:52:51
1713
原创 tmux 常用默认快捷键 以及 我的自定义快捷键(附自定义快捷键文件内容)
tmux` 常用默认快捷键 以及 我的自定义快捷键(附定义文件内容)一、常用默认快捷键1、窗口管理快捷键2、面板管理快捷键3、面板调整快捷键4、会话管理快捷键5、复制模式快捷键(vi 键绑定)二、我的自定义快捷键配置前缀键设置重新加载配置文件窗口导航选择特定窗口将当前面板加入指定窗口使用方向键分割窗口切换面板全屏/还原选择特定面板面板导航切换到下一个布局总结在日常使用tmux时,快捷键可以极大地提升效率和管理便捷性。以下是tmux的一些常用默认快捷键和自定义快捷键配置的详细解析,帮助你更好地掌握并优化。
2024-11-16 01:32:53
1441
原创 如何解决:request to https://registry.nlark.com/(.*?).tgz failed, reason: getaddrinfo ENOTFOUND registry.
如图所示,将 pnpm-lock.yaml 文件中的https://registry.nlark.com/全部替换成https://registry.npmmirror.com/删除lock.yaml,直接安装即可,无需替换。
2024-11-08 01:33:08
1023
1
原创 深入理解Allan方差:用体重数据分析误差的时间尺度与稳定性
Allan方差最初被应用于分析频率标准中的噪声特性,特别适用于分析时间序列的长期和短期稳定性。它能够揭示数据在不同时间尺度下的波动特性,从而帮助我们理解数据的动态变化。Allan方差能够帮助我们揭示数据在不同时间尺度下的波动特性。通过计算和分析体重数据的Allan方差,我们展示了其在实际应用中的效果。进一步,通过双对数曲线的绘制,我们能更深入理解和应用Allan方差,在更广泛的数据分析中发挥作用。应用实例体重管理:Allan方差可以帮助判断体重变化的稳定性,识别出短期波动与长期趋势。金融数据分析。
2024-10-26 01:09:13
1259
原创 PyCharm 2023 版本之后使用本地 conda 已存在环境的方法
之后,每次新建使用本地conda环境的项目只需要从第四步的选择环境开始即可,点击 “Create” 就可进入使用选中的本地环境的oycharm项目了。点击右侧的蓝色 “Add Interpreter” 按钮,然后选择 “Add Local Interpreter” 来进入本地环境选择界面。完成上述设置后,点击右侧的 “Load Environments” 以加载所有可用的本地 Anaconda 环境。从列表中选择您想要使用的 Conda 环境,点击“OK”即可加载所选环境。此文件夹内包含一个名为。
2024-10-25 17:34:15
1016
1
原创 在 Ubuntu 上安装和卸载 PyCharm (2024)
通过以上步骤,可以在 Ubuntu 系统上安装或卸载 PyCharm,无论是社区版还是专业版都可以按照这些方法操作。
2024-10-21 15:18:59
2215
原创 在 VS Code 中调试 Tensor 形状不显示的问题及解决方案
通过自定义__repr__方法,我们成功地解决了 VS Code 中调试Tensor变量时无法快速查看其形状的问题。我们同样可以使用类似的方式来扩展其他数据类型,使得调试时变量信息更加直观清晰。该方法非常实用,尤其适合处理大型数据集或高维度张量的深度学习项目。
2024-10-20 23:51:24
1343
原创 解决 VSCode 调试时 Python 文件路径问题及 `FileNotFoundError` 报错 (在原本非调试情况下可运行)
VSCode 在调试 Python 项目时,工作目录不一致可能导致文件路径问题,尤其是当代码中使用相对路径时。这种问题可以通过调整工作目录或使用绝对路径来解决。设置正确的工作目录:在文件中通过cwd配置指定正确的工作目录。动态构建文件路径:使用os.path模块确保路径的健壮性,避免相对路径带来的问题。理解调试方式的差异:根据项目的复杂程度选择合适的调试方式,直接调试适用于简单场景,而更适合复杂项目。
2024-10-20 21:35:09
2066
原创 理解TF-IDF:从原理到应用
TF-IDF是一种统计方法,它结合了词频(Term Frequency, TF)和逆文档频率(Inverse Document Frequency, IDF)两个概念,以量化一个词对于特定文档以及整个文档集的重要程度。这种方法特别适用于从大量文本数据中提取关键信息或特征。
2024-10-16 15:28:30
1834
原创 如何将已加好的脚注或尾注转换成中括号“[]”格式
(这是尾注的象征符),在“替换为”框中输入。2、点击word文档上方“编辑”选项按钮。5、在“查找内容”框中输入。6、点击下方的“全部替换”1、正常插入所有尾注。4、点击“替换”选项。
2024-10-01 17:12:11
1234
原创 深入理解主成分分析 (PCA) 及其广泛应用
PCA 在多种实际场景中表现出色。例如,在图像压缩中,PCA 通过提取最主要的特征来减少图像数据的存储需求;在噪声过滤中,通过去除低方差主成分,PCA 能有效减少数据中的噪声。
2024-08-22 16:52:45
2305
原创 协方差详解及在日常生活中的应用实例——天气温度与冰淇淋销量的关系
协方差是一个统计量,用于衡量两个变量之间线性关系的方向和强度。如果两个变量的值倾向于同时增加或减少,则它们具有正协方差;如果一个变量增加而另一个变量减少,则它们具有负协方差。协方差的值越大,表示两个变量之间的线性关系越强。
2024-08-22 13:08:13
1591
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人