- 博客(47)
- 问答 (1)
- 收藏
- 关注
原创 大语言模型技术专栏(六):大语言模型三大架构解密——从Transformer到GPT/BERT/T5的进化之路
但你是否好奇,为什么同样是基于Transformer,有的模型(如GPT)擅长写小说,有的(如BERT)擅长文本分析,而T5却能做翻译?今天我们就来揭开这个谜底——大语言模型的三大经典架构,用最通俗的比喻+动图演示+代码实战,带你彻底搞懂它们的区别与设计哲学!GPT-3(1750亿参数)证明:超大规模Decoder-only模型具有强大的泛化能力。行业现象:多数百亿级大模型(如PaLM、Claude)采用Decoder-only架构。掩码语言模型(MLM):随机遮盖部分词,让模型预测。
2025-02-06 11:26:23
1999
原创 大语言模型技术专栏(五):语言模型评测指南——从「内在」到「外在」的全面检验
在之前的文章中,我们聊过语言模型的采样方法、位置编码等技术细节。但当你训练或拿到一个语言模型后,如何判断它的生成能力是否优秀?今天我们就来聊聊语言模型评测方法,从「内在」到「外在」,手把手教你如何科学评估一个模型的性能!1.1 评测的意义模型选择:帮助你在多个候选模型中选择最适合的性能优化:定位模型的弱点,指导后续改进应用部署:确保模型在实际任务中的可靠性1.2 评测的两大方向内在评测:直接评估模型的语言建模能力外在评测:通过具体任务评估模型的实用性2.1 困惑度(Perplexity, PPL)定义
2025-02-06 10:15:15
536
原创 大语言模型技术专栏(四):语言模型采样方法大揭秘——「精准」与「创意」的博弈艺术
想象一下,模型在生成每个词时都面临一场考试:题目:根据上文「今天天气真__」,在以下选项中选择最合适的词:A. 好(概率65%) B. 不错(25%) C. 糟糕(8%) D. 离谱(2%)保守学霸:永远选概率最高的A文艺青年:偶尔选D让文字更生动理性派:在A和B之间权衡。
2025-02-06 09:21:32
1238
原创 大语言模型技术专栏(三):Attention机制——从RNN到Transformer的惊世一跃!
在上一期《RNN语言模型——让AI真正「记住」上下文的秘密武器》中,我们看到了RNN如何通过循环连接实现序列建模。今天的主角——Attention机制,正是为了解决这些问题而生,并直接催生了Transformer架构,彻底改变了NLP的发展轨迹!我们不仅会用生动的比喻解释原理,还会通过PyTorch实战带你手写Attention,最后揭秘它如何推动大语言模型的进化。OpenAI的GPT系列模型(如GPT-3)基于Transformer的Decoder部分,通过大规模预训练和微调,实现了惊人的语言生成能力。
2025-02-05 14:55:05
900
原创 大语言模型技术专栏(二):RNN语言模型——让AI真正「记住」上下文的秘密武器!
在上一期《5分钟搞懂N-grams语言模型》中,我们看到了传统统计模型的局限性——它就像个健忘症患者,只能记住最近几个词。今天要揭秘的RNN(循环神经网络)语言模型,则是给AI装上了「记忆芯片」,让机器真正学会理解上下文关系!你可以理解为:新的记忆=新输入(x_t) + 旧记忆(h_{t-1}),经过加工后存储。RNN的每个神经元都和自己跨时间步相连,形成时间维度上的信息传递通道。N-grams模型会因为「暴雨」和「今天」相隔太远而预测失败,而人类却能轻松补全「天气晴朗」。梯度爆炸/消失:训练过程不稳定。
2025-02-05 14:28:36
565
原创 大语言模型技术专栏(一):5分钟搞懂N-grams语言模型,小白也能轻松上手!
简单来说,N-grams语言模型就是一个用来预测下一个词可能是什么的工具。比如,当你输入“今天天气真”时,模型会预测下一个词可能是“好”“不错”或“糟糕”。这里的“N”代表一个数字,表示模型每次考虑多少个词。Unigram(1-gram):只考虑当前词,比如“天气”。Bigram(2-gram):考虑当前词和前一个词,比如“今天 天气”。Trigram(3-gram):考虑当前词和前两个词,比如“今天 天气 真”。N-grams模型的核心思想是:通过统计历史数据中词与词的组合概率,来预测未来的词。
2025-02-05 14:12:38
714
原创 智能体:实现智能函数调用
随着人工智能技术的发展,特别是在自然语言处理领域,OpenAI推出了一种新的API——函数智能体(Functions Agent),它允许模型智能地选择何时调用外部函数,并传递正确的参数。通过本文,我们了解了如何使用OpenAI函数智能体来创建一个能够根据输入动态调用函数的智能代理。希望这篇博客能够帮助你更好地理解和应用OpenAI函数智能体,以提升你的项目的智能化程度。接着,初始化您的模型实例,并指定API密钥和API基础URL。定义一个工具类,例如Weather,它包含获取天气数据的功能。
2024-09-10 15:03:00
1136
原创 智能体(Agent):理解其核心思想与组件
特别是当结合了语言模型之后,智能体不仅能够根据预定义的规则行动,还能通过推理来选择最佳的操作路径。通常情况下,这个映射会包含一个output键,该键对应的值是一个字符串,代表智能体的响应。智能体的核心思想是利用语言模型作为推理引擎,来决定执行的操作序列以及执行的顺序。与传统的链式操作不同,智能体的操作不是硬编码在程序中的,而是动态生成的。不同的智能体有不同的推理提示风格、不同的输入编码方式以及不同的输出解析方式。它负责调用智能体,执行智能体选择的操作,并将操作的输出传递回智能体,然后重复这一过程。
2024-09-10 14:38:50
1474
原创 在创作中应用大模型智能体及构建代理框架
随着人工智能技术的发展,尤其是大规模神经网络模型的兴起,智能体(Agent)在各个领域中的应用变得越来越广泛。本文将探讨如何在创作过程中应用大模型智能体,并展示如何构建一个具备在线搜索能力和本地数据检索功能的代理框架。通过本文,我们不仅了解了如何在创作中应用大模型智能体,还展示了如何构建一个具备在线搜索能力和本地数据检索功能的代理框架。根据需求选择合适的大模型,如GPT-3、BERT、T5等开源模型,或使用商业API服务如OpenAI的GPT-3 API。随着新技术的出现,不断学习新的工具和技术。
2024-09-10 14:28:18
580
原创 使用LangChain中的RunnableParallel进行并行化
RunnableParallel 允许我们并行执行多个 Runnable 对象,并将这些 Runnable 的输出作为映射返回。这对于并行运行独立进程尤其有用,因为映射中的每个 Runnable 都会并行执行。
2024-09-05 15:43:37
1419
原创 使用LangChain加载多种格式的文件
LangChain 是一个开源框架,旨在简化与语言模型交互的应用程序的构建流程。它提供了多种加载器,可以轻松地从各种文件格式中提取数据。本文将详细介绍如何使用LangChain来加载文本、PDF、Word、Excel、CSV、HTML、Markdown 等不同格式的文件。通过本文,我们学习了如何使用LangChain来加载不同格式的文件。每个加载器都有其特定的功能和用途,可以根据实际需求选择合适的加载器。如果PDF文件是扫描件或图像形式的,需要先使用OCR技术将图像转换为文本。加载 Excel 文件。
2024-09-05 15:01:36
3618
原创 选择合适的向量数据库以支持LangChain项目
在构建基于自然语言处理的应用程序时,选择合适的向量数据库对于确保系统的性能和扩展性至关重要。向量数据库是用来存储高维向量数据的数据存储系统,它能够快速检索最接近查询向量的数据点。在自然语言处理中,文本通常会被嵌入到高维空间中的向量,这些向量可以用来表示文本的意义。因此,向量数据库成为了存储和检索这些嵌入向量的理想选择。数据类型:如果你的数据不仅仅是文本向量,Milvus 和 Weaviate 提供了更多的数据类型支持。使用 FAISS 的 IndexFlatL2 创建索引,并将文档的嵌入向量添加到索引中。
2024-09-05 14:45:35
2185
原创 在LangChain中使用自查询检索器
自查询检索器(Self-Query Retriever)允许我们构建更加智能的检索机制,它能够根据自然语言查询自动构造结构化的查询语句,并应用于底层的向量存储(VectorStore)。自查询检索器(Self-Query Retriever)是一种特殊的检索器,它不仅可以基于内容进行语义相似性检索,还能根据查询条件从文档的元数据中提取过滤条件并执行这些过滤条件。这意味着,自查询检索器能够理解自然语言查询,并将其转换为结构化的查询,从而实现更精准的文档检索。现在我们可以使用自查询检索器来执行一些示例查询。
2024-09-05 11:20:45
690
原创 在LangChain中实现多向量检索器
在处理大型文档集合时,为了提高检索效率和准确性,通常需要将每个文档分割成更小的块,并为每个块创建单独的向量。无论是通过分割文档成较小的块,还是通过生成摘要或假设性问题,多向量检索器都能帮助我们更好地管理大量的文档数据。我们需要将分割后的文档块添加到向量存储中,并设置文档ID与文档内容之间的映射。我们需要将分割后的文档块添加到向量存储中,并设置文档ID与文档内容之间的映射。假设性问题:创建每个文档都适合回答的假设性问题,并将这些问题与文档一起嵌入。较小的块:将文档分割成较小的块,然后嵌入这些块。
2024-09-05 11:08:25
1619
1
原创 在LangChain中加载和处理PDF文档
PDF(Portable Document Format)是一种广泛使用的文件格式,最初由Adobe在1992年开发,用于以一种与应用程序软件、硬件和操作系统无关的方式呈现文档。此外,通过向量数据库检索器,我们可以轻松地在大量文档中定位相关的信息。一旦加载了PDF文件,我们就可以将各个页面的内容拼接起来,形成一个连续的文本流,以便进一步处理。接下来,我们将使用向量数据库来生成一个检索器,并通过设置相似度阈值来限制检索结果。为了能够高效地检索文档内容,我们可以将加载的文档嵌入到向量数据库中。
2024-09-05 10:52:04
2774
原创 LangChain 中的文档加载与向量数据库检索
通过本文,我们学习了如何在 LangChain 中加载文档,并通过向量数据库进行高效的检索。本文将详细介绍如何使用 LangChain 加载文档,并通过具体的代码示例展示如何实现向量数据库检索。LangChain 支持多种文档加载器,可以根据需求选择合适的加载器。向量数据库提供了多种检索方法,包括基于相似度的检索和最大边际相关性(MMR)检索。最后,我们将检索器与语言模型结合起来,以便在回答问题时能够利用检索到的上下文信息。一旦文档加载完毕,下一步就是将文档嵌入到向量数据库中,以便进行高效的检索。
2024-09-05 10:31:52
887
原创 在LangChain中实现数据检索与RAG
在许多应用场景中,用户提供的输入只是一个问题,而答案需要从已有的数据库或文档中检索出来。这种情况下,单纯依靠大模型的生成能力是不够的,我们需要结合外部知识源来增强模型的回答准确性。本文将介绍如何在 LangChain 中使用 RAG 技术来增强模型的回答能力,并通过具体的代码示例展示其实现过程。最后,如果我们要处理的是目录中的多个文档,可以使用 DirectoryLoader 来加载这些文档。接下来,我们将检索器与一个语言模型结合起来,以便在回答问题时能够利用检索到的上下文信息。步骤三:集成检索器与模型。
2024-09-05 10:13:06
806
原创 LangChain中的缓存机制详解
为了解决这个问题,LangChain 提供了一种缓存机制,通过存储先前请求的结果来避免重复调用相同的API。通过启用LangChain的缓存功能,您可以显著减少对LLM提供商的API调用次数,从而节省成本并提高应用程序的响应速度。节省资金:如果您的应用程序频繁请求相同的完成结果,缓存可以帮助减少对LLM提供商的API调用次数,从而节省资金。加速应用:通过减少API调用次数,缓存还可以加快应用程序的响应速度,提升用户体验。可以看到,第二次调用的速度更快,因为它直接从缓存中读取了结果。
2024-09-04 17:31:44
1017
原创 使用 LangChain 构建管道提示词
有时候,我们需要将多个提示组合在一起以形成一个更复杂的提示词,这尤其适用于需要多次迭代或包含多个阶段的对话任务。这种方法允许我们灵活地组合多个提示,并在各个阶段之间传递变量,从而构建出更加复杂和有效的提示词。管道提示(Pipeline Prompts):这是一个元组列表,其中每个元组包含一个字符串名称和一个提示模板。接下来,我们将创建一个管道提示模板,该模板将组合前面定义的所有提示模板。首先,我们需要定义几个基本的提示模板,这些模板将在我们的管道中使用。最后,我们将使用具体的变量值来格式化我们的管道提示。
2024-09-04 17:05:06
847
原创 使用LangChain进行智能示例选择
通过本文的介绍,我们了解了LangChain库中几种不同的示例选择器,并通过具体的代码示例展示了它们的应用。无论是按长度选择、基于语义相似性选择还是基于n-gram重叠选择,都能帮助我们在构建提示词时做出更合适的选择,从而提高模型的性能和响应质量。本文将探讨如何使用LangChain库中的不同示例选择器来实现智能示例选择,并通过具体的代码示例来展示其应用。在构建提示词时,选择适当的示例至关重要。特别是在处理长文本输入时,选择过多的示例可能会导致上下文窗口溢出,而选择太少的示例则可能导致上下文信息不足。
2024-09-04 15:36:39
574
原创 使用LangChain进行提示词工程
随着大语言模型的发展,提示词工程(Prompt Engineering)成为了利用这些模型的关键技术之一。提示词工程是指设计特定的文本输入,以引导模型产生预期的回答或行为。本文将介绍如何使用LangChain框架结合ChatOpenAI来实现这一目标,并通过几个具体的例子来演示其应用。无论是简单的数学问题解答,还是复杂的多轮对话模拟,都可以通过合理的设计提示词模板来实现。随着提示词工程的不断进步,未来将会有更多创新性的应用等待我们去探索。我们可以定义一个模板,然后使用该模板来生成特定的提示词。
2024-09-04 14:29:52
1343
原创 基于LangChain调用本地部署(Ollama)的大模型Qwen(2)
然而,对于一些对数据安全和响应速度有较高要求的应用场景,将模型部署在本地成为了一种常见的选择。本文将详细介绍如何使用LangChain框架来调用本地部署的Ollama大模型,具体来说是如何调用Qwen模型。未来,随着更多模型的支持和技术的进步,这种方式将会变得更加普遍和高效。通过Ollama,开发者可以轻松地加载和运行不同的模型,而无需关心底层的技术细节。接下来,我们将展示如何使用LangChain中的Ollama类来创建一个模型实例,并通过它来获取Qwen模型的响应。LangChain简介。
2024-09-04 10:42:48
2947
原创 基于大模型的系统搭建—千帆大模型(1)
但是,上述流程为你提供了一个良好的起点,你可以在此基础上进一步扩展功能,例如加入用户界面、持久化数据存储等特性,以满足更广泛的应用需求。随着人工智能技术的进步,越来越多的企业和个人开发者开始利用大型语言模型(LLM)来构建自己的智能应用。聊天式问答是一种更高级的问答形式,它允许用户与模型进行多轮对话,而不仅仅是单次提问和回答。为了实现聊天式问答,你需要保持对话的历史记录,并将其传递给模型,以便它能够在生成新的回答时考虑到之前的上下文。个性化:基于用户的输入,模型能够调整其回答风格,甚至学习用户的偏好。
2024-09-04 10:34:15
734
原创 开源平台 Ollama + Langchain:构建智能对话系统的实践指南
随着自然语言处理(NLP)技术的发展,开源社区提供了许多强大的工具,帮助开发者构建出更加智能的对话系统。通过以上步骤,您可以成功搭建一个基于 Ollama 和anyLLM和 Langchain-Chatchat 的智能对话系统。根据使用的模型推理框架及加载的模型,调整 model_settings.yaml 文件中的配置项。对于知识库路径配置(basic_settings.yaml),如果需要更改默认位置,也可以在此处进行修改。如果一切正常,模型将启动成功,并可以通过 API 接口进行访问。
2024-09-04 10:04:31
1530
原创 基于本地知识库的大规模语言模型集成架构详解
随着人工智能技术的进步,尤其是自然语言处理(NLP)领域的发展,大型语言模型(LLM)已经成为了解决多种语言任务的核心技术。因此,结合本地文件加载与处理的技术,可以显著提高语言模型的实用性和准确性。为了便于进一步处理和检索,长篇的文本需要被分割成较小的文本块。文本块的大小可以根据应用场景的具体要求进行调整,一般而言,保持在一个合理的长度可以帮助提高处理速度和效率。这一步骤通常涉及文档解析技术和格式转换,目的是为了确保所有类型的数据都可以以相同的格式进行处理,从而简化接下来的工作流程。
2024-09-04 09:46:07
894
原创 大模型(LLM)和知识库的基础介绍
大型语言模型基于深度学习技术构建,特别是Transformer架构,这是一种完全基于注意力机制(Attention Mechanism)的模型,它解决了传统RNN(循环神经网络)模型在处理长序列数据时的效率问题,并且能够并行化训练,极大地提高了模型训练的速度。
2024-09-04 09:40:07
1835
原创 基于Python和OpenCV的图像处理的轮廓查找算法及显示
本文将详细介绍如何使用Python和OpenCV来查找图像中的轮廓,并将这些轮廓显示在原始图像上。在OpenCV 4.x中,它返回两个值(轮廓和层次结构),而在早期版本中可能返回三个值(图像、轮廓和层次结构)。绘制轮廓:使用cv2.drawContours()函数将找到的轮廓绘制到黑色图像上。查找轮廓:使用cv2.findContours()函数在二值图像中查找轮廓。显示结果:使用cv2.imshow()函数显示原始图像和绘制了轮廓的图像。使用findContours函数查找二值图像中的轮廓。
2024-08-09 16:08:03
873
原创 基于Python与OpenCV的图像处理:滤波器相关算法详解
通过本文,我们了解了众数滤波、高斯滤波和均值滤波这三种基本的图像滤波算法,并学会了如何在Python中使用OpenCV库来实现它们。这些滤波器在图像处理中扮演着重要角色,能够帮助我们解决诸如去噪、平滑、锐化等问题。在实际应用中,我们可以根据具体的需求和图像的特点选择合适的滤波器进行处理。
2024-08-09 14:43:38
1121
原创 基于Python与OpenCV的图像处理:数据读取RGB与灰度处理
首先,我们使用cv2.imread()函数读取图像,该函数默认以BGR格式读取图像,但我们可以将其转换为RGB格式以便更符合常规理解。在OpenCV中,可以使用cv2.cvtColor()函数将彩色图像转换为灰度图像,设置转换代码为cv2.COLOR_BGR2GRAY(注意这里是BGR,因为OpenCV默认使用BGR颜色空间)。灰度处理是图像处理中的一个基本步骤,它将彩色图像转换为灰度图像,即图像中的每个像素点只有一个亮度值,没有颜色信息。灰度图像在图像分析、特征提取等方面有着广泛的应用。
2024-08-09 14:38:49
876
原创 使用Python对高程数据进行平滑处理的多种方法
在地理数据处理、地形分析或任何需要处理高程数据的领域中,数据平滑是一项重要的预处理步骤。平滑处理能够减少数据中的噪声和波动,使数据更加平滑,从而更易于分析和可视化。这种方法能够根据不同数据点的权重(由高斯函数确定)来平滑数据,从而在保持数据整体趋势的同时减少噪声。移动平均是一种简单而有效的平滑技术,它通过计算数据点周围窗口内的平均值来减少数据的波动。根据你的数据特性和具体需求,选择合适的平滑方法。样条插值:可以精确拟合数据,平滑效果好,但可能会产生过拟合,尤其是在噪声数据较多时。
2024-08-06 10:22:36
785
原创 Python连接MinIO进阶教程:文件类型指定、上传与获取预览链接
将上述内容组合起来,你可以创建一个完整的脚本来上传文件,指定其内容类型,并生成一个预览链接。
2024-08-02 09:26:21
3754
原创 Python连接MinIO:实现高效的对象存储管理
使用Python连接MinIO,你可以轻松地在你的应用程序中集成对象存储功能,实现文件的上传、下载、管理和访问控制。3.获取MinIO访问信息:确保你拥有MinIO服务器的访问密钥(Access Key)和秘密密钥(Secret Key),以及服务器的地址和端口(默认为http://localhost:9000)。1.安装MinIO:首先,你需要在你的服务器上安装并运行MinIO。性能优化:对于大文件或高并发场景,你可能需要调整MinIO服务器的配置或优化你的Python代码以实现更好的性能。
2024-08-02 09:15:58
2543
原创 探索图像处理的利器:SIFT、SURF与ORB特征提取算法
SIFT、SURF和ORB是三种各具特色的特征提取算法。SIFT以其强大的鲁棒性和准确性在高精度匹配领域占据一席之地;SURF则在保持SIFT优点的同时,通过优化算法提高了计算速度;而ORB则以极快的处理速度和良好的鲁棒性成为实时应用中的首选。在实际应用中,我们可以根据具体需求选择合适的算法来解决问题。
2024-08-02 09:06:02
1777
原创 Python地址管理库pathlib
定义:pathlib是Python标准库中的一个模块,提供表示文件系统路径的类,其语义适用于不同的操作系统。面向对象:通过对象而不是字符串来表示路径,使得路径操作更加直观和易于管理。跨平台:提供了一致的接口来处理不同操作系统(如Windows、Unix/Linux)上的路径。丰富的方法:提供了多种方法和属性来执行常见的路径操作,如拼接、分解、遍历、文件/目录管理等。pathlib是Python中用于处理文件系统路径的一个强大且易用的库。
2024-07-29 09:00:40
822
原创 图像透视变换技术
1. 读取源图像import cv2")exit()2. 定义源点和目标点在源图像和目标图像上分别定义四个控制点(通常是角点)。这些点的坐标决定了透视变换的映射关系。# 源图像上的点# 目标图像上的点dst_points = np.float32([[0, 0], [w, 0], [0, h], [w, h]]) # 例如,映射到新的矩形区域计算透视变换矩阵使用cv2.findHomography()函数根据源点和目标点计算透视变换矩阵。应用透视变换。
2024-07-24 10:28:37
1412
原创 基于Python与GDAL的栅格转矢量(去边框)、添加缓冲区、简化容差
本文将介绍如何使用Python和GDAL库来实现栅格数据到矢量数据的转换,并为转换后的矢量数据添加缓冲区和简化容差。通过Python和GDAL库,我们可以轻松地将栅格数据转换为矢量数据,并为转换后的矢量数据添加缓冲区。在矢量数据简化过程中,通过合理设置容差值,我们可以在保持数据有用性的同时显著减少数据的复杂性和处理时间。然而,需要注意的是,容差的选择应该基于数据的特性和分析的需求来仔细确定。在矢量数据中添加缓冲区是一个常见的GIS操作,它会在要素周围创建一个指定宽度的区域。
2024-07-09 09:58:57
1581
原创 基于Python的GDAL库的分割、裁剪、合并。
在地理信息系统(GIS)和遥感领域中,数据处理是一个核心环节,其中数据的分割、裁剪和拼接是常见的需求。这些操作对于分析局部地区的变化、合成大范围图像或是处理大型数据集时尤为重要。Python作为一种强大的编程语言,结合GDAL库,可以高效地实现这些数据处理任务。本文将详细介绍如何使用Python和GDAL库来进行数据的分割、裁剪与拼接。
2024-07-09 09:42:52
2790
原创 Python中串口通讯pyserial(应用)
pyserial是一个Python库,它提供了与串口通信相关的功能。它可以让我们在Python程序中直接与串口设备进行通信,如读取和写入串口数据。pyserial是一个跨平台的库,可以在多个操作系统上使用,包括Windows、Linux和MacOS。
2024-07-09 09:05:24
633
原创 Python中的串口通信库pyserial(基础)
pyserial是一个跨平台的库,可以在多个操作系统上使用,包括Windows、Linux和MacOS。:flushInput方法用于清除输入缓冲区中的所有数据,flushOutput方法用于清除输出缓冲区中的所有待发送数据。:PySerial允许在创建Serial对象后,通过修改对象的属性来设置串口参数,如波特率、数据位、校验位和停止位。同时,也提供了方法或属性来检查串口的状态,如是否已打开。:sendBreak方法用于向串口发送一个BREAK信号,这可以用于向连接的设备发送一个中断或重置信号。
2024-07-09 08:54:53
11204
2
原创 基于GDAL的TIFF数据读取、保存与投影信息处理2
在地理信息系统(GIS)和遥感领域中,TIFF(Tagged Image File Format)文件是一种常用的图像文件格式,它支持多种图像压缩,并包含丰富的地理空间信息。本文将介绍如何使用GDAL在Python中读取TIFF文件的数据和投影信息,并将数据保存为新的GeoTIFF文件。首先,我们需要定义一个函数来读取TIFF文件中的数据。这个函数将打开TIFF文件,读取第一个波段的数据,并返回一个NumPy数组。最后,我们定义一个函数来将NumPy数组保存为GeoTIFF文件,并指定其投影和仿射信息。
2024-07-04 09:14:39
2021
gaitset训练时遇到问题
2021-09-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅