自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 python函数之间嵌套使用yield

假设一种场景,函数 A 可以在获得函数 B 的返回值(即一个生成器对象)后,再次对其进行yield操作。这是因为 Python 的生成器是可迭代的,你可以在一个生成器中迭代另一个生成器,并将其结果逐个yield出去。这种模式在 Python 中被称为(Generator Delegation),并且可以使用yield from语法来简化代码。

2025-04-19 19:16:18 474

原创 F.binary_cross_entropy与sklearn.metric.log_loss的比较

都可以用来计算二分类或多分类任务中的交叉熵损失,但它们的使用场景、实现方式和功能有所不同。

2025-03-28 10:21:00 835

原创 分布式训练中的 rank 和 local_rank

在分布式训练中, 和 是两个不同的概念,它们分别表示不同层次的进程标识符。理解这两者的区别和关系对于正确设置分布式训练环境至关重要。::关系:其中 是每个节点上的设备数量(例如,在一个有4个GPU的节点上, 就是4)。区别:假设你有一个由两台机器组成的集群,每台机器上有两个NPU:在这种情况下:解释:获取 :设置设备:以下是一个完整的示例,展示了如何在分布式训练中使用 和 :

2025-03-12 17:24:21 687

原创 Hadamard product 总结学习

Hadamard product 作为一种逐元素操作工具,在机器学习和深度学习中具有重要地位。它在神经网络的前向传播与反向传播、特征交互、注意力机制以及权重矩阵的控制等方面发挥了关键作用。其逐元素特性使得复杂的计算任务更加高效,尤其是在大规模的矩阵运算中。

2025-03-07 11:18:41 1092

原创 深度学习中的异构特征介绍

深度学习,特别是现在的大模型,数据永远是最紧要的基础和前提。数据中有大量的各种各样的特征,这些特征类型不同、来源不同,而且没有一个明确的结构来描述它们之间的关系,这些特征的多样性和复杂性给数据处理和分析带来了挑战。高基数 ids:每个实体的唯一标识。交叉特征:两个或多个特征之间的组合关系。计数特征:某个特征出现的次数。比例特征:某个特征在整体中的占比。

2025-02-07 15:11:02 491

原创 束搜索、组束搜索介绍、异同及相关参数

束搜索是一种用于序列生成任务的解码算法,广泛应用于自然语言处理领域,如机器翻译、语音识别等。在每个解码步骤中,不是简单地选择最有可能的下一个词(这被称为贪心搜索),而是考虑前num_beams个最有可能的候选词。这些候选词形成多个可能的序列路径,这些路径在后续步骤中继续扩展。最终,当达到最大长度或遇到结束标记时,从所有路径中选择得分最高的序列作为最终输出。相比于贪心搜索,它更有可能找到全局最优解。通过调整束宽(num_beams)可以在计算成本和结果质量之间取得平衡。

2025-01-08 20:22:13 859

原创 正则表达式:re.match和re.search的区别

特性re.matchre.search匹配位置仅从字符串的开始位置匹配在整个字符串中查找第一个匹配项返回结果如果从字符串开头匹配成功,返回匹配对象如果在字符串中找到匹配项,返回匹配对象适用场景验证格式化字符串(如 URL、电子邮件等)查找字符串中的任意位置的匹配项。

2025-01-08 10:30:27 435

原创 with torch.no_grad()使用小提示

是 PyTorch 中的一个上下文管理器,用于禁用梯度计算。

2025-01-02 14:52:59 286

原创 tokenizer和tokenizer.tokenize的区别

在大模型使用的过程中,经常会用到token。对于token的过程,有2种方法:tokenizer和tokenizer.tokenize。那么这2种方法之间有什么区别呢?示例代码如下所示。具体来说,它们分别使用了不同的方法来处理输入文本,并且返回的结果格式也不同。

2024-12-31 11:22:21 437

原创 BartTokenizer介绍

是来自。

2024-12-30 16:22:00 342

原创 机器学习与神经网络荣获诺贝尔物理学奖:跨界融合的开端

2024年诺贝尔物理学奖的颁发给机器学习与神经网络领域的研究者,这一决定在学术界引起了广泛的关注和热议。这次获奖的是美国普林斯顿大学的约翰·霍普菲尔德(John J. Hopfield)和加拿大多伦多大学的杰弗里·辛顿(Geoffrey E. Hinton),以表彰他们“为推动利用人工神经网络进行机器学习作出的基础性发现和发明”。约翰·霍普菲尔德和杰弗里·辛顿的工作,利用物理学的工具和概念,为现代机器学习的发展奠定了基础。霍普菲尔德发明了一种联想记忆网络,能够存储和重构信息,如图像和其他类型的数据。

2024-10-12 10:43:58 407

原创 vllm安装及总结

vllm的安装和使用,对torch、cuda、xformers等有较多的版本依赖,过程中有一些曲折,故整理记录如下。

2024-10-10 11:09:22 12301 2

原创 vllm使用相关错误

设置:限制程序可见的 GPU 设备,确保返回的设备数量在程序运行过程中保持不变。延迟调用:确保在vLLM引擎初始化之前不调用。检查依赖库的初始化:确保所有依赖库的初始化都在vLLM引擎初始化之后进行。检查多进程或多线程问题:确保每个进程或线程都设置了,并且在初始化vLLM引擎之前没有调用。

2024-10-09 15:34:27 1517

原创 人工智能时代,程序员如何保持核心竞争力?

例如,百度的AI代码助手Comate已经承担了公司四分之一的代码编写工作,并广泛应用于超过1万家企业,这表明AI编程助手在避免语法错误和执行逻辑任务上显示出更高的效率和准确性。而且,随着AI的介入,程序员的角色可能会逐渐从单纯的代码编写者转变为系统架构师、项目经理或者AI伦理顾问等,这些角色都需要强大的软技能支撑。通过这样的方式,程序员不仅可以保持自己的核心竞争力,还可以在AI时代发挥更大的作用。随着AI在编程领域的应用越来越广泛,如何确保AI的决策是公正、透明和安全的,成为了一个重要的议题。

2024-09-29 16:22:25 584

原创 大模型使用vLLM推理加速

在使用vLLM进行模型推理时,即使你不显式调用tokenizervLLM也会自动处理 tokenization。vLLM内部会使用模型对应的tokenizer来对输入文本进行 tokenization。以下是一些关键点和示例代码,帮助你理解这一过程。

2024-09-29 15:29:05 2057

原创 通义千问:让我的编程工作效率翻倍的秘密武器

通义千问是一款由阿里云开发的大型语言模型,在我众多的编程工具中,通义千问大模型无疑是最让我感到惊喜的一个。它不仅能够快速理解我的需求,还能在短时间内给出高质量的解决方案。快速解决问题代码调试:当我遇到代码bug时,通义千问能够迅速定位问题并提供解决方案。例如,我曾在一个复杂的Python项目中遇到一个难以调试的错误,通义千问通过几轮对话就帮助我找到了问题所在,并给出了修复建议。代码生成:有时我需要编写一些功能模块,通义千问能够根据我的描述生成初步的代码框架,大大减少了我的编码时间。

2024-09-27 18:44:57 1430

原创 vLLM加速组件XFormers与FlashAttention的区别

是一个用于加速自然语言处理(NLP)和其他需要注意力机制的应用中的Transformer模型的关键组件。FlashAttention-2是该库的一个版本或更新,它旨在提高计算效率,减少内存使用,并加快注意力机制的计算速度。XFormers 是一个开源库,旨在为Transformer模型提供高效的注意力机制实现。与 FlashAttention类似,XFormers 旨在减少内存占用和提高计算速度,但它们在设计和功能上有所不同。

2024-09-27 15:21:20 4520

原创 大模型输入参数学习

top_p和top_k:用于控制生成文本的多样性和连贯性。较小的值会使生成的文本更连贯但缺乏多样性,较大的值会使生成的文本更随机和多样。:用于控制生成文本的随机性。较高的值增加随机性,较低的值增加确定性。:用于控制生成文本的长度。

2024-09-25 09:27:18 1103

原创 大模型类别区分

大模型是指那些拥有大量参数的机器学习模型,它们通常在大规模数据集上进行训练,并能够执行复杂的任务。随着深度学习技术的发展,大模型已经成为推动人工智能领域进步的重要力量。每种类型的模型都有其特定的应用场景和技术特点,选择合适的模型取决于具体的任务需求。随着技术的进步,不同类型的模型之间的界限也逐渐模糊,出现了更多跨领域的综合型大模型。

2024-09-23 16:58:30 516

原创 大模型版本区分

是一个通用的大型语言模型,适用于各种自然语言处理任务。是在通用模型基础上经过指令微调的版本,特别适合处理指令式的任务。选择哪个版本取决于你的具体需求。如果你需要一个通用的模型来处理多种任务,可以选择。如果你的任务涉及大量指令式的操作,建议使用。参考链接。

2024-09-20 15:52:14 9319

原创 paddle模型转onnx介绍(以utc-mini为例)

【代码】paddle模型转onnx介绍(以utc-mini为例)

2024-09-10 19:42:27 724

原创 fastchat与autogen使用要点澄清

utoGen是一个由Microsoft团队开发的开源框架,旨在简化大型语言模型(LLM)的工作流程编排和优化。这个框架特别适用于开发涉及对话自治性、代理数量和代理对话拓扑的下一代LLM应用。多代理对话框架:AutoGen允许使用多个代理进行对话和解决任务,这些代理是可定制和可对话的,并且可以无缝地允许人类参与。它们能在使用LLM、人类输入和工具的各种模式下运行2。简化和自动化LLM工作流:AutoGen简化了复杂LLM工作流的编排、自动化和优化,最大化了LLM模型的性能,并克服了它们的弱点。

2024-09-03 21:16:21 1295

原创 解决paddlepaddle-gpu和cuda兼容的问题

paddlepaddle-gpu使用问题

2024-08-01 19:01:53 2482 7

原创 TensorFlow 离线加载预训练模型

这里写自定义目录标题TensorFlow 离线加载预训练模型第一种方式:直接加载第二种方式:离线加载TensorFlow 离线加载预训练模型TensorFlow 内置了很多预训练的模型。如果要使用这些模型,一般可使用如下两种方式:第一种方式:直接加载VGG16_MODEL = tf.keras.applications.VGG16(input_shape=IMG_SHAPE, include_top=Fals

2021-09-13 21:32:43 768

原创 python,字典转存为pandas,key为列,value为行,索引重命名

Python中,使用pandas进行数据处理和存储非常方便,同样,字典的使用也是很多操作中不可或缺的。本文主要是记录在使用过程中的经历,总结和分享,便于日后查看。任务1:将字典的keys作为pandas的列名称,values作为pandas的行数据废话不多说,直接上代码,结果一目了然:import pandas as pddct = {'key1': [1, 4], 'key2': [2, 5], 'key3': [3, 6]}dataframe = pd.DataFrame(dct, in.

2020-09-17 08:35:11 6003

原创 哔哩哔哩2020校园招聘算法笔试卷(二)

单选23道,46分;编程3道,60分;总分106。单选记不得了,趁着代码思路还在,记录编程题如下(题目名字我乱起的):一、字典序拼接给一个数组,元素值非负。将数组中元素拼接起来,要求拼接后的数值最大。为了避免溢出,以字符串的形式输出拼接结果。示例1:输入:30,1输出:301个人测试用例:输入:15,30,7,3,8输出:8733015题解:先按字典...

2019-09-10 22:12:42 1787

原创 京东2020校招笔试题-算法工程师

1、笔试题目说明:30道选择(包括单选和多选),占60分;2道编程题,占40分;2、编程题解:第一道编程题没怎么理解题意,重点在做第2道,根据当时的草稿及事后调通的代码,记录如下:2.1题目描述:迷宫问题(仅提取核心部分,有所简化)给一个N*M的迷宫单元,其中的元素仅包含3个字符:“#”、“P”和“S”。其中“#”代表墙壁,表示不能通过;“S”代表单元迷宫的起点;“P”代表...

2019-08-25 00:08:37 2231

原创 猿辅导面试-算法类

一个小时,两道算法题第一题:列表加和 给定一个int类型的列表(如[1, 9, 8, 8])和一个加和元素(如34),计算列表元素所组成的数字(1988)与加和元素相加后的结果(1988+34=2022,此处仅作为讲解示例,实际操作中不允许这样执行),并以列表的形式输出([2, 0, 2, 2])。要求: 必须是在列表状态下进行操作,不能将列表中的元素...

2019-08-13 18:42:24 1982

原创 找出数组中前K个最小的数-Python实现

寻找数组中给定的第K大的数,或者前K个最大的数,与之同理,稍加改动即可思路1:二叉堆。假设数组长度为N,首先取前K个数,构建二叉堆(大顶堆),然后将剩余N-K个元素,依次与堆顶元素进行比较,若小于堆顶元素,则替换, 并重新为大顶堆。代码如下# 最大堆下沉调整def downAdjust(ary_list, parent_index, length): tmp = ary_l...

2019-08-01 15:52:47 8100

转载 网络结构可视化之Tensorboard使用

说明*此博文仅用作个人学习记录,在此先感谢博友的分享,帮助我解决了问题。问题我的问题是,无法使用tensorboard,错误有两个:第一个是,运行Tensorboard 1.13.1 时报错:OSError:[Errno 22] Invalid argument这位网友的解决方案很到位,可参考。第二个是,关于TensorFlow中可视化包Tensorboard在浏览器中一直无法连接的...

2019-04-05 12:06:03 327

原创 dict转dataframe,将keys作为数据列,并重新命名

dict转dataframe,将keys作为数据列,并重新命名Python中,将 dict 转为 pandas 中的 dataframe 格式,并将 dict 的 keys 作为数据列,且赋予该数据列新的列名。我们假设dict的内容如下所示:dict_data = {a: 1, b: 2, c: 3}假设我们想要将keys 与 values 作为数据列,并且命名为kys 和 vas。那...

2019-03-18 23:09:05 15362

原创 Pycharm中使用OpenCV

Pycharm中使用OpenCVPycharm中使用OpenCV,其实也就是用Python语言调用OpenCV。鉴于Python的简洁风格,调用OpenCV自然也是很简单,只需要一句话:import cv2然后,在使用的过程中,只需要按照Python的使用风格,加上cv2前缀就行了,如下图: 但是,在达到这个效果之前,还需要做一些小的配置。如下图所示, (1)首先,点击...

2018-03-22 10:56:22 25194 2

转载 欢迎使用CSDN-markdown编辑器

如何让MainWindow中的控件随主窗口大小变化声明:本帖子仅做学习札记,来源于CSDN论坛中的一个问题(如题),恰好解决了本人学习中的问题,故做记录,以方便日后回顾和整理之用。优质回答如下: 1、首先,点击窗体,右键->选择布局->在 窗体布局中布局; 2、然后,再点击窗体,右键->选择布局->水平布局; 3、再次选择布局->垂直布局。 然后就可以了。注:回答人:angl

2017-08-25 14:30:07 247

转载 查看端口占用情况

查看笔记本端口占用情况本文的写作原由是MySQL workbench 打开时提示3306端口被占用,所以上网搜了下,看到了相关帖子,为记录到个人的知识图谱,故有此记。方法一以管理员身份运行cmd命令,在命令窗口输入 netstat -b ,然后,找到你要的端口,“本地地址”下面有端口号,找到你想要找的(被占用的)那个就行,然后记下”PID”那列相应的数,根据PID去任务管理器那里找到相应的进程给结束

2017-04-11 11:37:16 589

原创 # Android 蓝牙开发之数据通信

Android 蓝牙开发之数据通信本文所述通信,是建立在已配对的基础上的。因为,个人认为,目前手机上的蓝牙配对功能已经很完善了,所以,我们完全可以先通过手机进行配对,然后直接在程序里面获取以配对的蓝牙设备进行开发即可,这样一来,我们把蓝牙开发里面的搜索和配对的工作就都给省略了。当然,这得根据个人想法以及功能需要来决断,因此不再多做赘述。下面简单描述下功能实现:从手机中已经配对的蓝牙设备中,得到指定

2016-07-31 22:39:11 821

原创 Android属性动画应用——菜单以散开的方式弹出

一、前言 Google推出的新方法——android属性动画,让很多大牛和热爱技术的人高兴不已,纷纷发表自己的学习心得、认识以及教程。这里,我是通过在慕课网的相关视频学习中,获得的启发,于是整理了一下,希望与大家分享。 OK,废话不多说,赶快进入主题。 下面先展示一下界面效果: ![点击橘红色的按个按钮之后,会弹出五个小按钮,形成一直角三角形。如果想让它展示扇

2015-09-08 10:22:19 4353

Windows安装GPU版TensorFlow

在Windows下,安装GPU版的TensorFlow。 所以,前提是,你的显卡性能能满足深度神经网络的需求。

2018-07-05

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除