2024年1月14日
摘要: 在 FX 图中,每个节点代表一个操作。这些操作可以是函数调用、方法调用、模块实例调用,也可以是 torch.nn.Module 实例的调用。每个节点都对应一个调用站点,如运算符、方法和模块。 一.节点操作 下面是一些节点可能代表的操作: 1. 函数调用 例如,torch.add(x, y)会被表示为 阅读全文
posted @ 2024-01-14 23:58 扫地升 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 一.PyTorch 中的 AOTAutograd 在 PyTorch 中,AOTAutograd 是一个先进的功能,它是 Ahead-Of-Time (AOT) Autograd 的缩写。这是一种新的自动微分方法,它在编译时而不是运行时计算梯度。这使得它可以更有效地处理大型计算图。以下是一些关于 A 阅读全文
posted @ 2024-01-14 23:57 扫地升 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 一.FX 图介绍 FX 图是 PyTorch 中的一个主要数据结构,用于在 FX 中间表示(Intermediate Representation,IR)中表示程序。FX 图由一系列节点组成,每个节点代表调用站点(比如运算符、方法和模块)。 FX 图的主要目标是提供一种方式来转换和优化 PyTorc 阅读全文
posted @ 2024-01-14 23:57 扫地升 阅读(234) 评论(0) 推荐(0) 编辑
摘要: TorchDynamo 是一个设计用于加速未修改的 PyTorch 程序的 Python 级即时(JIT)编译器。它通过 Python Frame Evaluation Hooks(Python 框架评估钩子)来实现这一目标,以便在运行时动态地生成和优化代码。这使得 TorchDynamo 可以有效 阅读全文
posted @ 2024-01-14 23:57 扫地升 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 在 PyTorch 中,"Eager Execution"(即即时执行模式)是指一种动态图计算模式,其中每个操作都立即被执行,而不是被先放入计算图中。这与静态图计算框架(如 TensorFlow 的早期版本)的工作方式不同。在即时执行模式中,你可以像使用 NumPy 一样进行操作,逐步构建计算图,方 阅读全文
posted @ 2024-01-14 23:56 扫地升 阅读(752) 评论(0) 推荐(0) 编辑
摘要: 一.nn.LeakyReLU()函数 在 PyTorch 中,nn.LeakyReLU() 是一个激活函数,用于引入非线性性到神经网络中。Leaky ReLU 是修正线性单元(ReLU)的一种变体,它在输入为负数时不是完全置零,而是引入一个小的负斜率。nn.LeakyReLU() 的初始化参数如下: 阅读全文
posted @ 2024-01-14 23:38 扫地升 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 在 Hugging Face 的 transformers 库中,GPT(Generative Pre-trained Transformer)类的模型有两个常用的生成文本的方法:generate 和 chat。这两个方法在使用上有一些区别。通常公司发布的 LLM 模型会有一个基础版本,还会有一个 阅读全文
posted @ 2024-01-14 23:37 扫地升 阅读(813) 评论(0) 推荐(0) 编辑
摘要: 一.使用 Flask 将模型封装为 REST 接口 主要是将 complete()和 stream_complete()方法封装为 REST 接口,如下所示: from flask import Flask, request, jsonifyfrom transformers import Auto 阅读全文
posted @ 2024-01-14 23:37 扫地升 阅读(392) 评论(0) 推荐(0) 编辑
摘要: LlamaIndex 中接口基本上调用的是 OpenAI,如果想想调用自定义模型可以吗?答案当然是可以的。经过查找找到了自定义大语言模型的简单抽象基类 class CustomLLM(LLM)。 一.CustomLLM(LLM) 源码 只要子类必须实现 __init__、_complete、_str 阅读全文
posted @ 2024-01-14 23:36 扫地升 阅读(914) 评论(0) 推荐(0) 编辑
摘要: Python 中有很多魔法方法,它们以双下划线 __ 开头和结尾,用于实现类的特殊行为。以下是一些常用的魔法方法: 1. __init__(self, ...) 初始化方法,用于创建对象并设置初始状态。 2. __str__(self) 返回对象的非正式字符串表示形式,通过 str() 函数调用。 阅读全文
posted @ 2024-01-14 23:17 扫地升 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 在 Python 中,__repr__() 是一个特殊方法(magic method),用于定义对象的字符串表示形式。当你调用内置函数 repr() 或使用 str() 函数来获取对象的字符串表示时,实际上是调用了对象的 __repr__() 方法。 下面是一个简单的例子,演示了 __repr__( 阅读全文
posted @ 2024-01-14 23:17 扫地升 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 在 Python 中,__add__() 是一个特殊方法(magic method),用于定义对象之间的加法操作。当你使用 + 运算符对两个对象进行相加时,实际上会调用对象的 __add__() 方法。 下面是一个简单的例子,演示了 __add__() 的用法: class ComplexNumbe 阅读全文
posted @ 2024-01-14 23:17 扫地升 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 在 Python 中,__call__() 是一个特殊方法(magic method),用于使对象变成可调用(callable)。当一个对象实现了 __call__() 方法时,你可以像调用函数一样调用这个对象,就好像它是一个函数一样。 下面是一个简单的例子,演示了 __call__() 的用法: 阅读全文
posted @ 2024-01-14 23:16 扫地升 阅读(614) 评论(0) 推荐(0) 编辑
摘要: 在 CentOS 上创建一个 Python 虚拟环境,可以使用 virtualenv 工具。以下是创建和激活虚拟环境的基本步骤: 1.安装virtualenv 如果还没有安装 virtualenv,可以使用以下命令安装: sudo yum install python3-virtualenv 请注意 阅读全文
posted @ 2024-01-14 23:16 扫地升 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 在 Python 中,@property 是一种装饰器,用于将一个方法转换成只读属性。通过使用 @property 装饰器,你可以定义一个类的方法,使其在访问时可以像访问属性一样,而不是通过方法调用。 下面是一个简单的例子来说明 @property 的使用: class Circle: def __ 阅读全文
posted @ 2024-01-14 23:15 扫地升 阅读(41) 评论(0) 推荐(0) 编辑
摘要: BM25(Best Matching 25)是一种用于信息检索(Information Retrieval)和文本挖掘的算法,它被广泛应用于搜索引擎和相关领域。BM25 基于 TF-IDF(Term Frequency-Inverse Document Frequency)的思想,但对其进行了改进以 阅读全文
posted @ 2024-01-14 23:02 扫地升 阅读(886) 评论(0) 推荐(0) 编辑