- 博客(172)
- 收藏
- 关注
原创 Supervised Contrastive Learning 监督对比损失中的内求和与外求和:实例演示与分析
从上述计算示例中可以看出,**外求和(out-sum)和内求和(in-sum)**的主要区别在于计算顺序和对正样本的处理方式。外求和:每个正样本单独计算其对数概率,然后求平均,适合当每个正样本的重要性相对独立时。内求和:先聚合所有正样本的得分(平均),再计算对数概率,相当于将同类样本视为一个"多类别"群体。这样做可以更好地反映正样本集的整体一致性,适合在正样本间有较大方差的情况下使用。
2025-04-15 15:07:37
784
原创 WebChat 一款超好用的浏览器侧边栏 AI 问答插件
点击"划线工具栏"选项卡添加新工具,设置名称和提示词选中网页文本时,新工具按钮会出现在引用按钮旁边点击自定义工具按钮,自动引用内容并添加提示词发送点击侧边栏右上角的设置图标在设置面板中选择"设置"选项卡选择希望使用的模型可以添加自定义API密钥和自定义参数通过"划线工具栏"选项卡添加自定义工具每个工具可以配置名称和提示词选中文本后一键执行"引用+提示词+发送"的操作组合。
2025-04-15 13:25:31
798
原创 深度学习中的数值稳定性处理详解:以SimCLR损失为例
数值稳定性处理是深度学习实现中一个看似简单但至关重要的技术。通过简单地减去每行的最大值,我们可以有效防止数值溢出/下溢问题,同时保持计算结果的数学等价性。这种技术尤其重要,因为随着模型和批量大小的增加,数值问题更容易出现,而且往往难以诊断。
2025-04-14 22:51:51
955
原创 WebChat 一款非常好用的浏览器侧边栏 AI 问答插件
点击"划线工具栏"选项卡添加新工具,设置名称和提示词选中网页文本时,新工具按钮会出现在引用按钮旁边点击自定义工具按钮,自动引用内容并添加提示词发送点击侧边栏右上角的设置图标在设置面板中选择"设置"选项卡选择希望使用的模型可以添加自定义API密钥和自定义参数通过"划线工具栏"选项卡添加自定义工具每个工具可以配置名称和提示词选中文本后一键执行"引用+提示词+发送"的操作组合。
2025-04-11 22:00:13
852
原创 WebChat 一款非常好用的浏览器侧边栏 AI 问答插件
点击"划线工具栏"选项卡添加新工具,设置名称和提示词选中网页文本时,新工具按钮会出现在引用按钮旁边点击自定义工具按钮,自动引用内容并添加提示词发送点击侧边栏右上角的设置图标在设置面板中选择"设置"选项卡选择希望使用的模型可以添加自定义API密钥和自定义参数通过"划线工具栏"选项卡添加自定义工具每个工具可以配置名称和提示词选中文本后一键执行"引用+提示词+发送"的操作组合。
2025-04-11 21:59:01
946
原创 WebChat 一款超好用的浏览器侧边栏 AI 问答插件
点击"划线工具栏"选项卡添加新工具,设置名称和提示词选中网页文本时,新工具按钮会出现在引用按钮旁边点击自定义工具按钮,自动引用内容并添加提示词发送点击侧边栏右上角的设置图标在设置面板中选择"设置"选项卡选择希望使用的模型可以添加自定义API密钥和自定义参数通过"划线工具栏"选项卡添加自定义工具每个工具可以配置名称和提示词选中文本后一键执行"引用+提示词+发送"的操作组合。
2025-04-10 15:25:49
863
原创 深度学习基础框架通用模板 (Pytorch Template) - cifar10 图片分类为例,深度学习模板
本项目是一个基于 PyTorch 的深度学习基础框架,旨在帮助用户快速实现自己的训练模型。可视化(loss 和 acc 变化曲线)模型早停机制(Early Stopping)随机种子设置数据加载和预处理训练日志记录框架结构清晰、模块化设计,便于扩展和复用,同时包含了一些常用的深度学习工具和方法。既适合新手快速上手,也适合高级用户构建自己的实验框架。
2025-04-09 08:36:29
635
原创 WebChat 一款超好用的浏览器侧边栏 AI 问答插件
点击"划线工具栏"选项卡添加新工具,设置名称和提示词选中网页文本时,新工具按钮会出现在引用按钮旁边点击自定义工具按钮,自动引用内容并添加提示词发送点击侧边栏右上角的设置图标在设置面板中选择"设置"选项卡选择希望使用的模型可以添加自定义API密钥和自定义参数通过"划线工具栏"选项卡添加自定义工具每个工具可以配置名称和提示词选中文本后一键执行"引用+提示词+发送"的操作组合。
2025-04-07 23:21:50
1365
原创 WebChat 一款超好用的浏览器侧边栏 AI 问答插件
点击"划线工具栏"选项卡添加新工具,设置名称和提示词选中网页文本时,新工具按钮会出现在引用按钮旁边点击自定义工具按钮,自动引用内容并添加提示词发送点击侧边栏右上角的设置图标在设置面板中选择"设置"选项卡选择您希望使用的模型可以添加自定义API密钥和自定义参数通过"划线工具栏"选项卡添加自定义工具每个工具可以配置名称和提示词选中文本后一键执行"引用+提示词+发送"的操作组合。
2025-04-06 23:32:27
886
原创 从零构建 KNN 分类: sklearn 与自定义实现对比
包含 KNN 模型的实现distances = np.sqrt(np.sum((self.X_train - x) ** 2, axis=1)) # 计算测试样本与所有训练样本的欧氏距离k_indices = np.argsort(distances)[:self.n_neighbors] # 获取距离最近的 k 个样本的索引k_nearest_labels = self.y_train[k_indices] # 获取 k 个最近邻样本的标签。
2025-03-11 11:00:46
856
原创 从零构建逻辑回归: sklearn 与自定义实现对比
逻辑回归通过将线性回归的结果通过 Sigmoid 函数转化为概率,并使用交叉熵损失函数来衡量模型的误差。通过反向传播计算梯度,并利用梯度下降优化参数,逻辑回归模型可以逐步学习到最优的分类边界,适用于二分类问题。
2025-03-10 22:12:30
744
原创 从零构建CNN:框架与自定义实现对比
手动实现卷积操作# 卷积核的初始化使用 Xavier 均匀分布self.weight = nn.Parameter(torch.randn(out_channels, in_channels, kernel_size, kernel_size)) # 初始化为随机值nn.init.xavier_uniform_(self.weight) # 使用 Xavier 均匀分布初始化权重。
2025-03-09 10:48:15
346
原创 从零实现与框架实现对比:图卷积网络(GCN)实战解析
图卷积网络(Graph Convolutional Network)是处理图结构数据的核心算法。本文通过在Cora数据集上对比。两种方案,解析GCN的关键技术细节。• 内置高效的稀疏矩阵运算。• 自动处理邻接矩阵归一化。• 保留节点自身特征。
2025-03-07 20:08:30
768
原创 PyTorch中的损失函数:F.nll_loss 与 nn.CrossEntropyLoss
无论是图像分类、文本分类还是其他类型的分类任务,交叉熵损失(Cross Entropy Loss)都是最常用的一种损失函数。它衡量的是模型预测的概率分布与真实标签之间的差异。F.nll_loss和。F.nll_loss是负对数似然损失(Negative Log Likelihood Loss),主要用于多类分类问题。它的输入是对数概率(log-probabilities),这意味着在使用F.nll_loss之前,我们需要先对模型的输出应用函数,将原始输出转换为对数概率形式。# 创建一些虚拟数据。
2025-03-07 19:41:28
676
原创 PyTorch中的线性变换:nn.Parameter VS nn.Linear
初始化权重# 初始化偏置# 线性变换:Y = XW + b# 创建自定义线性层# 打印权重和偏置# 输入数据input_data = torch.randn(4, 3) # 4个样本,每个样本有3个特征# 前向传播在这个示例中,我们手动创建了一个自定义的线性层,它使用来定义权重和偏置。在forwardY = XW + b。这个实现与nn.Linear提供的功能类似,但更多地体现了手动管理权重和偏置的方式。nn.Linear另一方面,nn.Linear。
2025-03-07 17:15:56
541
原创 利用 doi 批量下载 pdf 文献(代码亲测好用)
利用 doi 批量下载 pdf 文献。只需要准备包含和DOI两列的 excel 即可。
2025-02-20 21:53:30
2090
7
原创 手撕 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
954
原创 词袋模型和词嵌入模型区别和关联分析(词袋模型是否属于词嵌入模型)
词袋模型是基于统计的浅层表示,词嵌入是基于学习的深层语义表示。在深度学习时代,词嵌入及其衍生技术(如Transformer)已成为NLP的基石,但词袋模型在特定场景中仍具实用价值。
2025-02-14 20:48:22
363
原创 词袋模型 (BOW) 解析及代码实战
词袋模型将文本抽象为无序词集合(“bag”),通过向量化表示实现文本数字化。Documentiwi1wi2winDocumentiwi1wi2...win其中wijw_{ij}wij表示词汇表第j个词在文档i中的出现频次或存在性(0/1)。这种表示方式使文本数据可直接输入机器学习模型。
2025-02-14 20:27:55
1095
原创 理解深度学习pytorch框架中的线性层
本文将从数学角度和编程实现角度剖析它们的关系,并结合实际示例指出一些常见的坑与需要特别留意的下标对应问题。通过理解并区分“列向量”与“行向量”的不同惯例,避免因为矩阵维度或转置不当而导致莫名其妙的错误或 bug。但按照线性代数的常规写法,行数必须和输出维度匹配、列数必须和输入维度匹配。并无冲突,只是一个“列向量”和“行向量”的转置关系。这就是最传统、在数学文献或线性代数课程中最常见的表示方法。其实正是同一个道理,它和上面“数学文献里”用到的。,这就造成了在进行矩阵乘法时,需要将。是一个列向量,通常会写作。
2025-01-23 15:27:58
830
原创 深度学习中的模块复用原则(定义一次还是多次)
下面列出了必须单独定义的常见模块及原因。在深度学习中,模块复用直接影响到模型的行为和性能。模块是否可以复用原因Linear否有可学习参数,需要独立权重和偏置Conv2d否有可学习参数,需要独立卷积核LSTM否有可学习参数和动态隐藏状态否有可学习参数,需要独立权重Embedding否索引空间和嵌入维度不同Dropout是无状态,随机行为ReLU是无状态,固定行为BatchNorm视情况而定有状态,特征相同可复用,特征不同需独立定义。
2025-01-15 21:13:02
1046
原创 PyTorch 中的 Dropout 解析
从推荐位置开始:如全连接层后,先测试模型性能,再进行微调。验证集评估:通过验证集上的指标来判断 Dropout 效果,并据此调整。结合其他正则化手段:如 L2 正则化、数据增强等,多管齐下往往更有效。
2025-01-14 23:43:03
1761
原创 神经网络初始化 (init) 介绍
在深度学习的世界中,构建一个高效且性能优异的神经网络模型需要综合考虑多个因素。尽管选择合适的架构和优化算法至关重要,但权重初始化这一环节同样不容忽视。合适的初始化策略不仅能加速模型的收敛速度,提升训练稳定性,还能显著影响最终的模型性能。在深入探讨各种初始化方法之前,首先需要理解权重初始化在神经网络训练中的关键作用。如果所有神经元的权重初始化为相同的值,网络在训练初期将无法学习到多样化的特征。这是因为在前向传播和反向传播过程中,每个神经元都会计算出相同的输出和梯度,导致它们在训练过程中同步更新,学习到相同的内
2025-01-14 14:11:35
631
原创 深度学习中的学习率调度器(scheduler)分析并作图查看各方法差异
以上示例代码展示了不同学习率调度器的实现方式以及学习率随训练步骤变化的过程。选择合适的调度器可以根据具体任务和模型的需求来优化训练效果。指数衰减调度器(Exponential Decay Scheduler):适用于希望学习率持续且缓慢降低,稳定收敛的训练过程。余弦退火调度器(Cosine Annealing Scheduler):适用于需要动态调整学习率以避免局部最优,尤其适合复杂模型。步长衰减调度器(Step Decay Scheduler):适用于分阶段训练,明确划分训练阶段的任务。
2025-01-14 03:18:29
2250
原创 深入探讨多种类型的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
1113
原创 (经过验证)在 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
2099
原创 基于 Selenium 实现上海大学校园网自动登录
通过访问校园网登录页面,检查页面提示是否为 “您已成功连接校园网!”,从而判断网络状态。初始化 Edge WebDriver,并设置隐式等待时间为 10 秒。主程序负责循环检测网络状态,自动化执行登录操作,确保网络连接的稳定性。模拟手动登录校园网的操作,包括输入用户名、密码和触发登录。
2025-01-12 13:42:42
434
原创 在 CentOS 上安装 Docker 和 Docker Compose(可指定版本或安装最新版本)
安装最新版本:无需特定依赖要求时,可直接获取最新特性与安全补丁。安装指定版本:在对环境兼容性要求较高、尤其是生产环境时,可选择特定版本。镜像加速器配置:国内网络环境下拉取镜像会更稳定、更快速。卸载与数据清理:提供从系统中彻底移除 Docker 及其数据的方式,便于重新配置或节省资源。常见问题处理:针对国内访问缓慢、权限等问题进行了说明。
2025-01-08 21:06:56
5330
1
原创 解决SSH连接时遇到的“远程主机身份验证已更改 (WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!)”警告
在使用SSH协议进行远程服务器管理的过程中,可能会遇到这样的情况:当尝试通过SSH连接到某个远程主机时,终端突然弹出一条警告信息,提示“远程主机身份验证已更改”。:如果远程服务器进行了系统重装、升级或SSH服务重新配置等操作,其SSH主机密钥很可能会随之改变。
2025-01-08 20:09:42
593
原创 深度学习基础框架通用模板 (Pytorch Template) - cifar10 图片分类为例,深度学习模板
项目链接:https://github.com/tangpan360/pytorch_template本项目是一个基于 PyTorch 的深度学习基础框架,旨在帮助用户快速实现自己的训练模型。通过替换数据集和数据预处理等模块,用户可以专注于模型开发和实验,而无需花费大量时间在基础功能的实现上,比如:框架结构清晰、模块化设计,便于扩展和复用,同时包含了一些常用的深度学习工具和方法。既适合新手快速上手,也适合高级用户构建自己的实验框架。功能模块详解1. 数据相关:存放原始数据集文件(如 CIFAR-1
2025-01-07 02:21:07
1490
原创 将本地的 Git 仓库上传到 GitHub 上(github没有该仓库)
确保您已经在本地项目目录中初始化了一个 Git 仓库。命令将本地分支推送到 GitHub。由于这是首次推送,您需要指定目标分支(通常是。参数会设置上游跟踪分支,这样以后只需要运行。命令来添加远程仓库地址。
2025-01-06 23:43:06
1119
原创 使用 PyTorch 自定义数据集并划分训练、验证与测试集
通过上述步骤,可以有效地将原始的train_data划分为训练集和验证集,并创建三个独立的Dataset和DataLoader实例,用于训练、验证和测试。这种方法不仅使数据管理更加清晰和模块化,还能提高训练过程的灵活性和可维护性。
2025-01-04 16:31:21
2794
原创 深入理解 PyTorch 的 Dataset 和 DataLoader:构建高效数据管道
在深度学习项目中,数据的高效加载和预处理是提升模型训练速度和性能的关键。PyTorch 的Dataset和DataLoader提供了一种简洁而强大的方式来管理和加载数据。通过自定义Dataset,开发者可以灵活地处理各种数据格式和存储方式;而DataLoader则负责批量加载数据、打乱顺序以及多线程并行处理,大大提升了数据处理的效率。本文将详细介绍Dataset和DataLoader的使用方法,涵盖其基本概念、最佳实践、自定义方法、数据变换与增强,以及在实际项目中的应用示例。自定义Dataset。
2025-01-04 14:30:35
1965
原创 使用LaTeX创建美观的表格:示例代码与详细解析
在学术写作和专业文档中,美观且结构清晰的表格对于展示数据至关重要。LaTeX 提供了强大的工具来创建高质量的表格。本文将详细介绍如何使用booktabs和multirow包创建一个结构清晰、美观的表格,并提供完整的代码示例。
2025-01-03 11:15:39
1165
原创 如何在Windows与Linux(Ubuntu/CentOS)之间配置SSH免密登录
每人一个文件夹,统一管理分支克隆同一个仓库到不同文件夹。每人在自己文件夹中创建独立的分支开发,定期同步主分支。使用Fork机制每个人从主仓库Fork到自己的远程仓库。在服务器上各自克隆自己的远程仓库,开发完成后提交到自己的仓库,再通过Pull Request将代码合并到主仓库。
2024-12-14 15:32:32
1668
原创 使用 Pandas 读取 JSON 数据的五种常见结构解析
在日常生活中,我们经常与各种数据打交道,无论是从网上购物的订单信息到社交媒体上的动态更新。Pandas 是 Python 中用于数据分析的强大库,它能够轻松处理 JSON 数据,并将其转换为易于操作的数据表格形式——DataFrame。假设您正在整理家庭开支记录,您的 JSON 文件可能像这样组织,分为索引、列名和数据值三个部分。最后,如果您的数据是简单的二维数组,不包括任何索引或列名信息。
2024-12-12 16:31:36
659
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人