【AIGC】从CoT到BoT:AGI推理能力提升24%的技术变革如何驱动ChatGPT未来发展
文章目录
- 💯前言
- 💯迈向AGI的新跨越
- 💯BoT与CoT的技术对比
- 技术原理差异
- 推理性能提升
- 应用范围和通用性
- 从错误中学习的能力
- 总结
- 💯BoT的工作流程和机制
- 初始化过程
- 生成推理结构
- 结构评估与优化
- 自我修正与迭代
- 结果生成与反馈
- 总结
- 💯BoT在解决AGI难题上的潜力
- 模拟人类认知过程
- 推理能力的广泛适用性
- 减少对人工标注数据的依赖
- 逻辑推理与知识融合
- 探索自我意识的可能性
- 总结
- 💯小结
💯前言
- 在ICL2024大会上,一项名为BoT(Boosting of Thoughts)的新技术引起了广泛关注。这项技术代表了Prompt设计的革新,使得AGI的推理能力相比之前的CoT(Chain of Thought)技术提升了24%。接下来,本文将详细介绍BoT的工作原理、它与CoT的不同之处,以及它在解决通用人工智能(AGI)底层难题方面的重要潜力。
Boosting of Thoughts: Trial-and-Error Problem Solving with Large Language Models
Boosting of Thoughts: Trial-and-Error Problem Solving with Large Language Models
Buffer of Thoughts (BoT): A Novel Thought-Augmented Reasoning AI Approach for Enhancing Accuracy, Efficiency, and Robustness of LLMs
💯迈向AGI的新跨越
-
通用人工智能(AGI)的追求
- AGI的目标是实现具备人类智能水平的机器,能够在不同且未知的环境中理解、学习并应用知识来解决问题。
- 实现AGI的关键在于提升机器的深层逻辑推理和思维能力,超越单纯的数据和信息处理。
-
深度学习的局限性
- 尽管深度学习技术在模式识别、自然语言处理等领域取得显著进展,但在应对复杂推理任务时仍存在不足。
- 深度学习在处理模糊性问题和长链逻辑推理方面有局限,这成为实现AGI的一大障碍。
-
BoT技术的引入和意义
-
引入BoT:BoT(自我迭代学习机制)技术的核心目标是通过增强机器的思维推理能力来推动AGI的发展。
-
关键特点:BoT模仿人类的学习和认知过程,借助自我评估和修正不断优化推理能力,突破了传统依赖大量数据训练的模式。
-
-
ICLR2024上的BoT研究成果
-
性能提升:BoT技术在ICLR2024上展示了其在推理能力提升方面的潜力,与传统的
Chain of Thought
(CoT)相比,BoT在推理性能上实现了24%的提升。 -
未来前景:这一进展展示了通过自我优化和迭代学习逐步实现AGI的可能性,为通往更强大人工智能的发展指引了方向。
-
-
BoT技术的深入探索
-
核心探索:深入理解BoT技术的核心原理和工作机制,为实现AGI提供了新的希望和路径。
-
与CoT的对比:通过详细解析BoT与CoT的差异,展示了BoT在推动AGI发展中独特的价值和意义。
-
💯BoT与CoT的技术对比
- BoT(Boosting of Thoughts)和CoT(Chain of Thought)是两种旨在提升模型推理能力的技术,但它们在方法论上有着显著差异。CoT依赖于人工标注的示例链条来引导模型完成逻辑推理,适用于特定领域的问题。而BoT则不依赖于外部示例,通过自我迭代和自我优化,实现从简单问题到复杂推理链条的自主构建。这使得BoT在应对新领域和复杂问题上展现出更高的灵活性和通用性。BoT的这种创新不仅提升了模型的推理准确性,还为通向AGI的探索提供了更为稳固的基础和潜在路径。
技术原理差异
-
CoT(Chain of Thought)
- 依赖人工注释的示例推理链条,通过给模型提供一系列具有逻辑步骤的
prompt
,来引导模型完成复杂推理任务。 - 这种方法在某种程度上模仿了人类的思维过程,但其效果通常受到示例数量和质量的限制。
- 依赖人工注释的示例推理链条,通过给模型提供一系列具有逻辑步骤的
-
BoT(Boosting of Thoughts)
- 采用自我迭代优化策略,不需要人工注释的示例。BoT从一个简单的初始框开始,通过自我探索、评估和修正,逐步优化推理链条。
- 这种机制不仅扩展了模型应对未知问题的能力,也显著提升了推理的灵活性和通用性。
推理性能提升
-
CoT(Chain of Thought)
- 虽然CoT技术在提升模型的推理能力方面有一定成效,尤其适用于多步逻辑推理任务,但其效果受到示例质量和数量的限制。
- 在没有足够高质量示例的情况下,CoT的推理性能可能会受到限制,导致模型在复杂场景下难以获得理想表现。
-
BoT(Boosting of Thoughts)
- BoT技术在推理性能上实现了显著的提升,通过自我迭代学习和优化,能够在反复尝试和错误中不断积累推理经验,从而提高推理的准确性和深度。
- ICLR2024的研究表明,BoT相比CoT的推理性能提升了约24%,这一突破标志着模型在应对复杂推理任务时的能力上取得了重要进展。
应用范围和通用性
-
CoT(Chain of Thought)
- CoT的应用范围通常局限于已存在充足示例的特定问题领域。
- 由于其依赖于人工提供的推理链条,因此在新领域或更复杂的问题上的拓展性和灵活性相对较低,难以适应未见过的情境。
-
BoT(Boosting of Thoughts)
- BoT展现了更广泛的应用潜力。它不依赖人工示例,而是通过模型的自我迭代优化生成推理链条,使其能够在多种不同类型的问题上自主学习和适应。
- BoT的这种机制为模型提供了强大的通用性和灵活性,能够处理未见过的问题。这种能力是向AGI迈进的重要一步。
从错误中学习的能力
-
CoT(Chain of Thought)
- CoT技术虽然能够在一定程度上模拟人类的逻辑推理过程,但在自我修正和从错误中学习的能力上相对有限。这主要是因为CoT依赖于静态的人工示例,而非动态的学习过程,难以在实践中实现持续改进。
- CoT技术虽然能够在一定程度上模拟人类的逻辑推理过程,但在自我修正和从错误中学习的能力上相对有限。这主要是因为CoT依赖于静态的人工示例,而非动态的学习过程,难以在实践中实现持续改进。
-
BoT(Boosting of Thoughts)
- BoT通过不断的迭代试错、分析和修正,强化了从错误中学习的能力。每一次迭代不仅是对模型推理能力的测试,也是一个学习和自我提升的机会。这种自我进化的机制使BoT在持续优化推理过程中表现出更优异的性能。
- BoT通过不断的迭代试错、分析和修正,强化了从错误中学习的能力。每一次迭代不仅是对模型推理能力的测试,也是一个学习和自我提升的机会。这种自我进化的机制使BoT在持续优化推理过程中表现出更优异的性能。
总结
-
整体差异:BoT与CoT在技术原理、推理性能提升、应用范围与通用性以及从错误中学习的能力等方面存在显著差异。
-
意义与前景:BoT的出现不仅代表着在推理任务处理能力上的一次重大飞跃,更重要的是,它为我们提供了一种全新的视角,帮助理解和探索实现AGI(通用人工智能)的潜在路径。
-
展望:深入了解BoT的工作流程和机制,有助于把握其如何提升人工智能的推理能力,并理解其背后的智能优化原理。
💯BoT的工作流程和机制
- BoT(Boosting of Thoughts)技术通过系统化的工作流程和机制展示了人工智能领域的新方向。从初始化到最终生成解决方案的每一步,BoT都强调自主生成、结构评估与优化、自我修正和迭代学习的过程。相比传统依赖人工注释的数据,BoT能够以更少的外部干预实现问题解决的自我进化,这使其在推理和自适应方面具有显著优势。未来,BoT的这一流程不仅提升了AI系统的推理能力,还为通用人工智能(AGI)的发展提供了潜在的实现路径,预示着AI技术在自主学习和决策方面更广阔的应用前景。
初始化过程
- 初始Prompt设置
- BoT技术的起点是一个简单的问题描述,这个描述不包含任何示例或推理链条,仅是对问题的基本概述。
- 这与CoT技术依赖人工注释示例作为输入的方式形成鲜明对比。
生成推理结构
- 思维结构生成(Thought Structures Generation)
- BoT并行生成多个二叉树状的思维结构,每个节点代表一个潜在的推理步骤。
- 这些结构通过模型自身的推断能力独立形成,不依赖于外部注释。
结构评估与优化
-
思维结构聚合(Thought Structures Aggregation)
- BoT会对生成的多个思维结构进行聚合,形成一条综合的、代表性的推理链条。
- 此过程涉及评估每个结构的有效性,并将最有价值的推理步骤聚合到最终的链条中。
-
思维链条分析(Thought Chain Analysis)
- 将聚合后的思维链条输入模型进行分析,模型会对每一步的逻辑有效性进行评估,并提供错误报告以及修正建议。
- 将聚合后的思维链条输入模型进行分析,模型会对每一步的逻辑有效性进行评估,并提供错误报告以及修正建议。
自我修正与迭代
-
经验累积与优化
- 将模型分析得到的错误报告和修正建议,作为宝贵的“经验”累积到下一次的
prompt
中。 - 这些经验使模型在后续的迭代中避免重复同样的错误,不断优化推理链条的质量。
- 将模型分析得到的错误报告和修正建议,作为宝贵的“经验”累积到下一次的
-
迭代学习过程
- 基于更新后的
prompt
,BoT进入下一个迭代周期,重新开始思维结构的生成、聚合和分析过程。 - 通过这种自我迭代的学习方式,BoT逐渐提高解决问题的准确性和效率。
- 基于更新后的
结果生成与反馈
-
最终解决方案的产出
- 经过多轮的迭代优化后,BoT能够生成一个高质量的思维链条,有效地解决初始的问题。
- 这个过程不仅展示了BoT在具体问题解决上的能力,也验证了其自我进化的机制。
-
持续学习与进步
- 即使在找到有效的解决方案后,BoT技术仍可应用于新的问题。其过程中积累的“经验”使得模型在面对未知和复杂问题时更加高效和准确。
- 即使在找到有效的解决方案后,BoT技术仍可应用于新的问题。其过程中积累的“经验”使得模型在面对未知和复杂问题时更加高效和准确。
总结
-
BoT技术的工作流程和机制展示了一种全新的自我进化学习模式,在人工智能推理能力的提升上开辟了新的路径。
-
通过持续的自我迭代、分析与优化,BoT不仅可以有效解决特定问题,更重要的是,它揭示了*迈向通用人工智能(AGI)*的可能路径。
-
这种技术不仅为人工智能领域带来了创新的思维方式,也为未来的发展提供了无限的可能性。
💯BoT在解决AGI难题上的潜力
- BoT(Boosting of Thoughts)技术在解决通用人工智能(AGI)难题上展现出巨大的潜力。通过模拟人类的学习和认知过程,BoT不仅具备了跨任务学习和复杂问题解决的能力,还能够通过自我进化不断提升自身。这种技术不仅减少了对大量人工标注数据的依赖,同时通过逻辑推理和统计学习的结合,构建出适应多样化需求的学习模型。未来,BoT技术将为我们打开一条通向高度智能化系统的道路,使机器更接近具备自我意识和自主适应能力的人类智能,为实现真正的AGI提供了重要的探索路径和技术支持。
模拟人类认知过程
-
从错误中学习
- BoT通过迭代的试错过程,模拟了人类的学习方式,即从错误中学习,自主识别并修正错误。
- 这一点对于实现能够自主优化决策和推理过程的AGI至关重要。
-
自我进化
- BoT展示了通过不断自我修正和优化来实现自我进化的能力,这对开发能够自适应新任务和环境的AGI系统极为重要。
- BoT展示了通过不断自我修正和优化来实现自我进化的能力,这对开发能够自适应新任务和环境的AGI系统极为重要。
推理能力的广泛适用性
-
跨任务学习
- BoT的跨任务学习能力,使其适用于多种任务类型,无需依赖大量人工示例,这是AGI实现过程中至关重要的一环。
- BoT的跨任务学习能力,使其适用于多种任务类型,无需依赖大量人工示例,这是AGI实现过程中至关重要的一环。
-
复杂问题解决
- 在处理需要深层推理的复杂问题时,BoT展现了强大的能力,这也预示了其在构建能理解和解决高复杂度问题的AGI系统方面的应用潜力。
- 在处理需要深层推理的复杂问题时,BoT展现了强大的能力,这也预示了其在构建能理解和解决高复杂度问题的AGI系统方面的应用潜力。
减少对人工标注数据的依赖
- 自监督学习
- BoT通过模型自身的生成和分析能力,减少了对大规模人工标注数据的依赖。这对在真实世界中的AGI系统尤为重要,因为AGI需要在少量或无标注数据的环境下自主学习和适应。
- BoT通过模型自身的生成和分析能力,减少了对大规模人工标注数据的依赖。这对在真实世界中的AGI系统尤为重要,因为AGI需要在少量或无标注数据的环境下自主学习和适应。
逻辑推理与知识融合
- 符号推理与统计学习的结合
- BoT将复杂的逻辑推理能力与基于大数据的统计学习相结合,这种融合为开发既能进行深层逻辑推理又能从大规模数据中学习的AGI系统提供了新范例。
- BoT将复杂的逻辑推理能力与基于大数据的统计学习相结合,这种融合为开发既能进行深层逻辑推理又能从大规模数据中学习的AGI系统提供了新范例。
探索自我意识的可能性
- 反思和自我意识
- BoT框架的自我评估和修正过程,为探索机器的自我意识和元认知能力提供了新路径。
- 虽然真正的机器自我意识尚未实现,但BoT在自我进化和自我修正过程中的特性,为未来相关研究提供了重要启发。
总结
-
BoT技术在解决AGI底层难题上的潜力表明,通过模拟人类的认知过程,减少对人工标注数据的依赖,以及融合逻辑推理与大规模数据学习,我们可能正走在实现通用人工智能的道路上。
-
BoT不仅为当前的人工智能研究提供了新的视角,也为未来AGI的发展打开了新的可能性,展示了一条通过不断学习、适应和进化,逐步实现人类级智能的希望之路。
💯小结
BoT(Boosting of Thoughts)技术的出现,代表了人工智能推理和自适应能力上的一大进步。与传统的CoT(Chain of Thought)相比,BoT通过自我迭代和自我优化,实现了更强的推理灵活性和广泛的应用潜力,尤其是在解决复杂问题和跨任务学习方面展现了独特优势。这种新型的自我进化学习模式,为我们探索通向通用人工智能(AGI)的潜在路径带来了新的希望。BoT不仅能减少对人工标注数据的依赖,还融合了逻辑推理和统计学习的优势,通过从错误中不断学习和自我修正,逐步提升了自身的适应性和问题解决能力。BoT的这种特性预示着,人工智能有可能更贴近人类的认知过程,走向一种更自主、智能化的未来。- 未来的ChatGPT将不仅仅停留在语言理解和对话生成的层面,而是迈向更深入的思维与认知领域,通过类似BoT的自我进化和试错学习机制,不断优化自身的推理能力与灵活性。它将能够在多种复杂场景中自主应对,突破对人工示例的依赖,逐步具备跨领域学习和适应新问题的能力。这样的发展方向不仅推动ChatGPT在与人类交流中的理解力和智能水平提升,更重要的是,它为我们探索一种接近人类智能的人工智能打开了新的可能性,带来了实现通用人工智能的希望。未来的ChatGPT可能不只是回答问题的助手,而是具备真正思考和自我成长能力的伙伴。
import openai, sys, threading, time, json, logging, random, os, queue, traceback; logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s"); openai.api_key = os.getenv("OPENAI_API_KEY", "YOUR_API_KEY"); def ai_agent(prompt, temperature=0.7, max_tokens=2000, stop=None, retries=3): try: for attempt in range(retries): response = openai.Completion.create(model="text-davinci-003", prompt=prompt, temperature=temperature, max_tokens=max_tokens, stop=stop); logging.info(f"Agent Response: {response}"); return response["choices"][0]["text"].strip(); except Exception as e: logging.error(f"Error occurred on attempt {attempt + 1}: {e}"); traceback.print_exc(); time.sleep(random.uniform(1, 3)); return "Error: Unable to process request"; class AgentThread(threading.Thread): def __init__(self, prompt, temperature=0.7, max_tokens=1500, output_queue=None): threading.Thread.__init__(self); self.prompt = prompt; self.temperature = temperature; self.max_tokens = max_tokens; self.output_queue = output_queue if output_queue else queue.Queue(); def run(self): try: result = ai_agent(self.prompt, self.temperature, self.max_tokens); self.output_queue.put({"prompt": self.prompt, "response": result}); except Exception as e: logging.error(f"Thread error for prompt '{self.prompt}': {e}"); self.output_queue.put({"prompt": self.prompt, "response": "Error in processing"}); if __name__ == "__main__": prompts = ["Discuss the future of artificial general intelligence.", "What are the potential risks of autonomous weapons?", "Explain the ethical implications of AI in surveillance systems.", "How will AI affect global economies in the next 20 years?", "What is the role of AI in combating climate change?"]; threads = []; results = []; output_queue = queue.Queue(); start_time = time.time(); for idx, prompt in enumerate(prompts): temperature = random.uniform(0.5, 1.0); max_tokens = random.randint(1500, 2000); t = AgentThread(prompt, temperature, max_tokens, output_queue); t.start(); threads.append(t); for t in threads: t.join(); while not output_queue.empty(): result = output_queue.get(); results.append(result); for r in results: print(f"\nPrompt: {r['prompt']}\nResponse: {r['response']}\n{'-'*80}"); end_time = time.time(); total_time = round(end_time - start_time, 2); logging.info(f"All tasks completed in {total_time} seconds."); logging.info(f"Final Results: {json.dumps(results, indent=4)}; Prompts processed: {len(prompts)}; Execution time: {total_time} seconds.")
相关文章:

【AIGC】从CoT到BoT:AGI推理能力提升24%的技术变革如何驱动ChatGPT未来发展
博客主页: [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯迈向AGI的新跨越💯BoT与CoT的技术对比技术原理差异推理性能提升应用范围和通用性从错误中学习的能力总结 💯BoT的工作流程和机制初始化过程生成推…...

若依部署上线遇到的问题
一、若依部署上线的用户头像模块不能回显: 首先是后端修改部署上线后若依存储图片的本地地址 其次将上线前端配置文件中的图片相关配置给删除 二、若依部署上线后验证码不显示问题 在确保前后端请求打通后还有这个问题就是磁盘缓存问题 三、若依部署上线遇到404页…...
一个vue3的待办列表组件
一个vue3的待办列表组件, 仿企业微信的待办列表 TodoList.vue <template><div><el-input v-model"todoInput" placeholder"写下你的待办事项..." class"el-input" keyup.enter"addTodo"input-style"background-c…...

深入分析梧桐数据库SQL查询之挖掘季度销售冠军
在现代商业环境中,对销售数据的深入分析是企业决策过程中不可或缺的一部分。通过分析销售数据,企业可以识别出表现最佳的员工,从而激励团队,优化销售策略,并提高整体业绩。本文将详细介绍如何使用SQL查询来识别每个季度…...

「ZJUBCA秋季迎新见面会预告」
01 TIME 主席团与各部部长致辞 Presidents and Leads speech 02 TIME Aptos宣讲 Aptos Pitch-Hackathon 03 TIME 破冰小游戏 Icebreaker Games-Mining a Bitcoin 04 TIME 观影 Movie time! ⬇️浙江大学区块链协会秋季迎新见面会预告⬇️ 01 Presidents and Leads s…...
钉钉消息推送工具类
pom.xml <!-- HuTool 工具 --><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.12</version></dependency><!-- commons-lang3 --><dependency><groupId>…...

Android Studio 导入/删除/新建库的模块(第三方项目) - Module
文章目录 一、导入module项目 Module空项目如何导入Project工程项目二、删除module项目三、新建module项目(不常用) 一、导入module项目 首先,你必须要有一个工程(Project),才可以打开项目(Module) 第一步骤:右键项目依次点击 New -> Module 1、工…...

flowable 去掉自带的登录权限
重写Security配置,使所有请求都可以通过Security验证。(/**/**) 如: 公共的Security配置 package com.central.workflow.config;import org.springframework.context.annotation.Configuration; import org.springframework.se…...

第T8周:猫狗识别
>- **🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/0dvHCaOoFnW8SCp3JpzKxg) 中的学习记录博客** >- **🍖 原作者:[K同学啊](https://mtyjkh.blog.csdn.net/)** 🍺 要求: 了解mode…...

第十七周:机器学习
目录 摘要 Abstract 一、MCMC 1、马尔科夫链采样 step1 状态设定 step2 转移矩阵 step3 马尔科夫链的生成 step4 概率分布的估计 2、蒙特卡洛方法 step1 由一个分布产生随机变量 step2 用这些随机变量做实验 3、MCMC算法 4、参考文章 二、flow-based GAN 1、引…...
算法4之链表
概述 链表的题目没有太难的算法,纯看熟练度,是必须会。面试笔试不会是直接挂的,或者给面试官留下不好的印象。 单双链表的反转,单链表实现队列,K个一组反转链表。 单链表反转 链表节点的定义 Data public class Li…...

掌握未来技术:KVM虚拟化安装全攻略,开启高效云端之旅
作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注 座右铭: 云端筑梦,数据为翼,探索无限可能,引领云计算新纪元 个人主页:团儿.-CSDN博客 目录 前言&#…...

挖矿病毒的处理
前阶段生产服务器又中挖矿病毒了,紧急处理了一波 现象 执行 top命令,查看哪里cpu占用较高 CPU 彪满下不来 解决 1、杀掉进程 kill -9 pid 2、但是,过一会又不行了,说明有定时任务在定时执行这个病毒 3、先找到病毒文件&…...

JVM(HotSpot):GC之G1垃圾回收器
文章目录 一、简介二、工作原理三、Young Collection 跨代引用四、大对象问题 一、简介 1、适用场景 同时注重吞吐量(Throughput)和低延迟(Low latency),默认的暂停目标是 200 ms超大堆内存,会将堆划分为…...
appium文本输入的多种形式
目录 一、send_keys方法 二、press_keycode方法 三、subprocess方法直接通过adb命令输入 一、send_keys方法 这个是最常用的方法,不过通常使用时要使用聚焦,也就是先点击后等待: element wait.until(EC.presence_of_element_located((By…...

springboot095学生宿舍信息的系统--论文pf(论文+源码)_kaic
学生宿舍信息管理系统 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了学生宿舍信息管理系统的开发全过程。通过分析学生宿舍信息管理系统管理的不足,创建了一个计算机管理学生宿舍信息管理系统的方…...

使用SQL在PostGIS中创建各种空间数据
#1024程序员节|征文# 一、目录 1. 概述 2. 几何(Geometry)类型 创建点 创建线 创建面 3. 地理(Geography)类型 地理点(GEOGRAPHY POINT) 地理线串(GEOGRAPHY LINESTRINGÿ…...
ArkTS 如何适配手机和平板,展示不同的 Tabs 页签
ArkTS(Ark TypeScript)作为HarmonyOS应用开发的主要语言,提供了丰富的组件和接口来适配不同设备,包括手机和平板。在展示不同的Tabs页签以适应手机和平板时,ArkTS主要依赖于布局和组件的灵活性,以及响应式设…...

Docker下载途径
Docker不是Linux自带的,需要我们自己安装 官网:https://www.docker.com/ 安装步骤:https://docs.docker.com/engine/install/centos/ Docker Hub官网(镜像仓库):https://hub.docker.com/ 在线安装docker 先卸载旧的docker s…...

Windows: 如何实现CLIPTokenizer.from_pretrained`本地加载`stable-diffusion-2-1-base`
参考:https://blog.csdn.net/qq_38423499/article/details/137158458 https://github.com/VinAIResearch/Anti-DreamBooth?tabreadme-ov-file 联网下载没有问题: import osos.environ["HF_ENDPOINT"] "https://hf-mirror.com" i…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...

群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...