当前位置: 首页 > news >正文

如何在极低成本硬件上落地人工智能算法 —— 分布式AI

一、背景

分布式AI的发展前景非常广阔,随着5G、6G等高速网络通信技术的普及和边缘计算能力的提升,以及AI算法和硬件的不断优化进步,分布式AI将在多个领域展现出强大的应用潜力和市场价值:

1. **物联网(IoT)与智能设备**:

   - 分布式AI使得AI能够下沉到终端设备,实现端到端的智能化,尤其是在智能家居、自动驾驶汽车、无人机、工业机器人等领域,可以实时处理大量数据,做出快速响应。

2. **边缘计算**:

   - 随着5G带来的低延迟和高带宽特性,分布式AI将推动边缘计算的发展,使AI计算能力分布在网络边缘,减少云端传输数据的需求,提高数据处理效率和隐私保护水平。

3. **能源管理与分布式光伏行业**:

   - 在分布式光伏行业中,AI可应用于预测分析、故障检测、发电效率优化等方面,通过在各个节点部署智能监控系统,实时调整并优化能源分配和利用。

4. **云计算与数据中心优化**:

   - 分布式AI可以帮助优化云服务资源调度、负载均衡、能耗管理等,使得数据中心运营更加高效和绿色。

5. **智慧城市与社会治理**:

   - 在智慧城市建设中,分布式AI可赋能交通信号灯控制、公共安全监控、环境监测等多个环节,实现实时数据分析和决策支持。

6. **医疗健康**:

   - 分布式AI可用于远程医疗、疾病诊断、个人健康管理等场景,让医疗服务更加便捷、精准。

7. **金融风控与商业智能**:

   - 分布式AI有助于金融机构进行实时交易监控、欺诈检测,并协助企业实现更高效的供应链管理和客户洞察。

总之,分布式AI将进一步推动AI技术的普惠化和应用场景的多元化,促进产业数字化升级和社会经济的可持续发展。同时,它也将带来新的挑战,如数据安全性、系统一致性、协同算法优化等问题,需要科研人员和工程师们持续探索和攻关。

816dfdf557224a8eb026c0ef75782801.png

 此图片来源于网络

 

二、如何控制分布式AI的硬件成本

在极低成本硬件上落地人工智能算法,需要通过一系列优化措施来确保算法能够在有限资源下高效运行,同时保持足够的准确性和实用性。以下是一些关键策略:

1. **模型压缩与轻量化**:

   - **剪枝**:移除神经网络中对输出影响较小的权重和连接,减少模型大小而不显著降低精度。

   - **量化**:将32位浮点数权重和激活函数量化为8位或更低精度的数据类型,以减少内存占用和计算量。

   - **知识蒸馏**:将大型预训练模型的知识转移到小型模型中,使得小型模型也能达到较高的性能。

2. **架构设计优化**:

   - 使用专门为低功耗设备设计的轻量级模型架构,如MobileNet、SqueezeNet、Tiny-YOLO等,它们在保持一定性能的同时,大幅降低了计算复杂度和内存需求。

3. **边缘计算与分层处理**:

   - 将部分计算任务从云端迁移到本地设备(边缘计算),仅传输关键信息和结果,从而减少带宽需求和延迟。

   - 设计多层次的计算框架,简单的任务在低端硬件上完成,复杂的任务则上传到云端或更强大的处理器上进行计算。

4. **算法优化**:

   - 选择更适合嵌入式系统的机器学习算法,比如支持向量机(SVM)、决策树(Decision Tree)等传统机器学习方法,或者针对特定问题设计简洁高效的解决方案。

   - 对于深度学习而言,采用微调预先训练好的模型,而不是从头开始训练,可以节省大量的计算资源。

5. **硬件协同设计**:

   - 利用定制化的AI芯片(例如NPU、DSP或ASIC)来专门加速神经网络计算,这些芯片通常比通用处理器在执行AI任务时具有更高的能效比。

6. **数据预处理与特征提取**:

   - 在设备端实现数据预处理和特征提取,减小原始数据规模,只传输经过压缩和筛选后的有效信息至算法模块。

7. **实时性与动态调整**:

   - 根据实际应用场景的需求动态调整模型运行参数和计算负载,以适应硬件资源的变化。

通过以上措施,可以在低成本硬件平台上成功部署和运行人工智能算法,实现在有限资源条件下的智能化应用。

e68afb3d4fb042bc8214fcca71574160.webp

 此图片来源于网络

 

三、迁移学习

迁移学习对于分布式AI的未来影响是显著且多方面的,以下是几个关键的影响点:

1. **模型效率提升**:

   - 迁移学习允许在分布式环境中利用预训练模型的知识进行后续任务的学习,尤其是在资源有限的边缘设备上。通过加载和微调预先在大型数据集上训练好的模型,可以大大减少在分布式节点上的训练时间及所需的数据量。

2. **协同学习与知识共享**:

   - 分布式AI系统中的各个节点可以通过迁移学习共享和整合经验,每个节点可以在本地任务上进行学习,并将学到的知识迁移到其他节点,促进整个系统的整体性能优化。

3. **跨域适应性增强**:

   - 在分布式AI中,不同设备或节点可能面临不同的环境条件和数据分布。迁移学习可以帮助解决领域适应问题,使得模型能够更好地适应新环境下的任务,从而提高分布式系统的泛化能力和鲁棒性。

4. **降低通信成本**:

   - 通过迁移学习,部分计算密集型的训练过程可以在源节点完成,然后仅传输参数或者知识蒸馏得到的紧凑模型到目标节点,降低了大规模数据传输的需求,减轻了网络带宽压力。

5. **个性化服务升级**:

   - 在用户端设备上采用迁移学习技术,可以根据用户的个性化需求对中心模型进行定制化调整,提供更加精准的服务,同时保持数据隐私的安全性。

6. **资源受限场景的应用拓展**:

   - 对于物联网(IoT)等资源受限的分布式应用场景,迁移学习有助于开发轻量化、高效能的智能应用,使得嵌入式设备也能具备一定的AI处理能力。

因此,迁移学习作为一项重要的机器学习技术,在未来的分布式AI发展中将发挥着至关重要的作用,它不仅能有效利用有限的计算资源,还能推动AI技术在更多领域实现快速部署和广泛应用。

 

四、迁移学习应用案例

迁移学习在多个领域有广泛的应用,以下是一些具体的应用场景:

1. 计算机视觉:预训练的图像识别模型(如ResNet、VGG等)在大规模数据集(如ImageNet)上进行训练后,可以用于其他类似的图像分类任务。例如,在医疗影像分析中,可以微调这些模型以识别疾病特征,即使新任务的数据量相对较少。

2. 自然语言处理(NLP):

   - 预训练模型(BERT, GPT系列等)在大量文本数据上训练之后,可以被迁移应用到许多下游NLP任务,如情感分析、问答系统、命名实体识别、文本生成等。

3. 语音识别:在大型语音数据库上训练的模型,能够被应用于特定环境或方言下的语音识别系统,通过迁移学习来适应不同的发音和噪声背景。

4. 物联网(IoT)与边缘计算:在资源有限的设备上,可以利用在云端或其他设备上训练好的模型进行参数微调,实现轻量级的智能设备应用,比如智能家居设备上的异常检测或行为识别。

详细介绍案例:计算机视觉中的猫狗分类任务

在一个具体的迁移学习实例中,我们可以考虑一个猫狗分类问题。首先使用预训练的深度神经网络模型,如ResNet18,该模型已经在ImageNet数据集上进行了大量的训练,从而学会了如何提取图像的一般特征。

- **预训练阶段**:ResNet18在数百万张图片上训练,学会了对多种物体类别进行区分。

- **迁移学习阶段**:针对猫狗分类的具体任务,将ResNet18模型的顶层分类层替换为一个新的、适应于二分类任务的输出层,并冻结部分底层特征提取层的权重,仅对新的输出层及部分中间层进行重新训练(微调)。

- **微调阶段**:使用包含猫和狗图片的小规模数据集来更新模型参数,使得模型能更准确地区分两种动物。

这样做的好处是,由于ResNet18已经从通用图像数据中学到了丰富的特征表达能力,所以在新任务上只需用少量标注过的猫狗图片就能达到较高的识别精度,极大地减少了训练时间和所需的标记数据量。这就是迁移学习在实际应用场景中提升效率和性能的一个典型例子。

 

五、个人如何快速定制AI

未来有可能出现这样一种情况,即大家可以通过一个通用且强大的大模型AI作为基础来定制自己的个性化小模型AI。这种设想基于当前和未来AI技术发展的趋势:

1. **预训练大模型**:像GPT-3、通义千问等大型语言模型已经展示了强大的泛化能力和对多种任务的适应性。这些模型在大规模数据集上进行预训练后,具备了丰富的知识和语境理解能力。

2. **微调与个性化定制**:用户可以根据自己的需求,在大模型的基础上进行微调(fine-tuning),通过调整部分参数或添加额外层来解决特定任务或者适应个人偏好。例如,可以为不同的行业领域、组织或个人用户定制聊天机器人、文本生成助手或其他智能应用。

3. **模块化与组合式AI**:随着AI架构的发展,可能出现更加模块化的组件,允许用户选择性地利用大模型的不同部分,结合其他专用模块构建个性化的解决方案。

4. **接口标准化与服务化**:未来可能会有统一的平台和服务提供者,它们开放API和工具包,使得开发者和普通用户都能方便快捷地使用大模型的核心功能,并在此基础上开发自己的应用。

5. **云服务与隐私保护**:为了兼顾效率、成本和隐私,这样的大模型可能以云服务的形式存在,用户在云端访问并定制模型,同时借助安全技术和加密算法确保用户数据的安全和隐私。

综上所述,随着AI技术的进步和社会对个性化需求的增长,人们通过一个共享的大模型来创建自己专属的小模型是一种完全有可能且具有前瞻性的应用场景。

 

相关文章:

如何在极低成本硬件上落地人工智能算法 —— 分布式AI

一、背景 分布式AI的发展前景非常广阔,随着5G、6G等高速网络通信技术的普及和边缘计算能力的提升,以及AI算法和硬件的不断优化进步,分布式AI将在多个领域展现出强大的应用潜力和市场价值: 1. **物联网(IoT&#xff0…...

机器学习:ROC曲线笔记

ROC曲线(Receiver Operating Characteristic Curve)是一种用于评估二分类模型性能的图形化工具,主要用于展示在不同阈值(Threshold)下模型的真阳性率(True Positive Rate,TPR)和假阳…...

【lesson54】线程互斥

文章目录 线程互斥 线程互斥 互斥量mutex 大部分情况,线程使用的数据都是局部变量,变量的地址空间在线程栈空间内,这种情况,变量归属单个线程,其他线程无法获得这种变量。但有时候,很多变量都需要在线程间…...

Android14音频进阶:MediaPlayerService如何启动AudioTrack 上篇(五十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…...

K8sGPT 的使用

K8sGPT 介绍 k8sgpt 是一个扫描 Kubernetes 集群、诊断和分类问题的工具。它将 SRE 经验编入其分析器中,并帮助提取最相关的信息,通过人工智能来丰富它。它还可以与 OpenAI、Azure、Cohere、Amazon Bedrock 和本地模型结合使用。 K8sGPT Github 地址 …...

《CSS 简易速速上手小册》第4章:视觉美学(2024 最新版)

文章目录 4.1 颜色理论在 CSS 设计中的应用:网页的调色盘4.1.1 基础知识4.1.2 重点案例:创建一个具有情感设计的登录页面4.1.3 拓展案例 1:使用颜色增强信息的可视化表示4.1.4 拓展案例 2:利用颜色创建网站的品牌身份 4.2 字体与文…...

设计模式浅析

一、设计模式的使用场景 设计模式(Design Patterns)是在软件开发中经过验证的最佳实践,用于解决常见的设计问题。它们提供了一种可复用的解决方案,可以帮助开发人员提高代码质量、可维护性和可重用性。设计模式的采用通常在以下情…...

Linux环境中的git

目录 1.要使用git,首先要安装git 2.首次使用git需要做的操作 3.git操作 1.要使用git,首先要安装git 指令:sudo yum install -y git 2.首次使用git需要做的操作 在gitee网页,在你的仓库中找到: 先将下面两行代码分别…...

单测的思路

文章目录 单测的定义方法的单测几种生成工具的对比生成步骤 接口的单测场景的单测总结参考 单测的定义 单元测试(Unit Testing)是一种软件开发中的测试方法,它的主要目的是确保软件中的最小可测试单元(通常是函数、方法或类&…...

Linux内核与驱动面试经典“小”问题集锦(6)

接前一篇文章:Linux内核与驱动面试经典“小”问题集锦(5) 问题8 问:如何判断一个数是否是2的幂次(假设最多32位)? 备注:此问题是笔者年前参加小米面试时遇到的一个问题&#xff0c…...

【zabbix】(四)-钉钉告警企业微信配置

前提条件: 已经安装了Python3环境(脚本需要requests模块)。Centos7.x自带Python2(不含requests模块) 钉钉告警配置 一 安装Python3 参考该优秀文档部署 查看Python的模块:pip list / pip3 list 报错 …...

python-自动化篇-办公-一键将word中的表格提取到excel文件中

文章目录 代码 工作中,经常需要将Word文档中的表格粘贴到Excel文件中,以便汇总及分析。一个一个复制粘贴,非常不方便,还是Python自动化操作,省心省力。要求如下图所示,即将word中的所有表格,转存…...

C#,数值计算,矩阵的行列式(Determinant)、伴随矩阵(Adjoint)与逆矩阵(Inverse)的算法与源代码

本文发布矩阵(Matrix)的一些初级算法。 一、矩阵的行列式(Determinant) 矩阵行列式是指矩阵的全部元素构成的行列式,设A(a)是数域P上的一个n阶矩阵,则所有A(a)中的元素组成的行列式称为矩阵A的行列式&…...

人工智能|推荐系统——基于tensorflow的个性化电影推荐系统实战(有前端)

代码下载: 基于tensorflow的个性化电影推荐系统实战(有前端).zip资源-CSDN文库 项目简介: dl_re_web : Web 项目的文件夹re_sys: Web app model:百度云下载之后,把model放到该文件夹下recommend: 网络模型相…...

Hive SQL编译成MapReduce任务的过程

目录 一、架构及组件介绍 1.1 Hive底层架构 1.2 Hive组件 1.3 Hive与Hadoop交互过程 二、Hive SQL 编译成MR任务的流程 2.1 HQL转换为MR源码整体流程介绍 2.2 程序入口—CliDriver 2.3 HQL编译成MR任务的详细过程—Driver 2.3.1 将HQL语句转换成AST抽象语法树 词法、语…...

【C++】快速上手map、multimap、set、multiset

文章目录 一、前言二、set / multiset1. 常见应用2. 核心操作 三、map / multimap1. 常见应用2. 核心操作 一、前言 S T L STL STL 中的关联式容器分为树型结构和哈希结构,树型结构主要有四种: s e t set set、 m u l t i s e t multiset multiset、 m a…...

【分享】图解ADS+JLINK调试ARM

文章是对LPC2148而写的,但是对三星的44B0芯片同样适用,只需要在选择时将相应的CPU选择的S3C44B0就可以了。 JLINK在ADS下调试心得 前两天一个客户用jlink在ADS下调试LPC2148总报错,这个错误我之前在调试LPC2200的时候也碰到过,后…...

反无人机系统技术分析,无人机反制技术理论基础,无人机技术详解

近年来,经过大疆、parrot、3d robotics等公司不断的努力,具有强大功能的消费级无人机价格不断降低,操作简便性不断提高,无人机正快速地从尖端的军用设备转入大众市场,成为普通民众手中的玩具。 然而,随着消…...

Kotlin和Java 单例模式

Java 和Kotlin的单例模式其实很像,只是Kotlin一部分单例可以用对象类和委托lazy来实现 Java /*** 懒汉式,线程不安全*/ class Singleton {private static Singleton instance;private Singleton() {}public static Singleton getInstance() {if (insta…...

软考 系统分析师系列知识点之信息系统战略规划方法(9)

接前一篇文章:软考 系统分析师系列知识点之信息系统战略规划方法(8) 所属章节: 第7章. 企业信息化战略与实施 第4节. 信息系统战略规划方法 7.4.5 信息工程方法 信息工程(Information Engineering,IE&…...

政安晨:示例演绎TensorFlow的官方指南(一){基础知识}

为什么要示例演绎? 既然有了官方指南,咱们在官方指南上看看就可以了,为什么还要写示例演绎的文章呢? 其实对于初步了解TensorFlow的小伙伴们而言,示例演绎才是最重要的。 官方文档已经假定了您已经具备了相当合适的…...

node - 与数据库交互

在Web开发中,与数据库交互是常见的需求,用于持久化存储、检索和操作数据。不同的后端技术和数据库类型(如关系型数据库和非关系型数据库)有着不同的交互方式。下面介绍几种常见的数据库交互方法。 关系型数据库 关系型数据库(如MySQL、PostgreSQL、SQLite)使用结构化查…...

速盾:2024年cdn在5g时代重要吗

在2024年,随着5G技术的普及与应用,内容分发网络(Content Delivery Network,CDN)在数字化时代中的重要性将进一步巩固和扩大。CDN是一种用于快速、高效地分发网络内容的基础设施,它通过将内容部署在全球各地…...

微信小程序(四十一)wechat-http的使用

注释很详细,直接上代码 上一篇 新增内容: 1.模块下载 2.模块的使用 在终端输入npm install wechat-http 没有安装成功vue的先看之前的一篇 微信小程序(二十)Vant组件库的配置- 如果按以上的成功配置出现如下报错先输入以下语句 …...

所有设计模式大全及学习链接

文章目录 创建型设计模式结构型设计模式行为型设计模式 创建型设计模式 一种创建对象的设计模式,它们提供了一种灵活的方式来创建对象,同时隐藏了对象的创建细节。以下是常见的创建型设计模式: 工厂方法模式(Factory Method Patte…...

【Java程序设计】【C00264】基于Springboot的原创歌曲分享平台(有论文)

基于Springboot的原创歌曲分享平台(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的原创歌曲分享平台 本系统分为平台功能模块、管理员功能模块以及用户功能模块。 平台功能模块:在平台首页可以查看首…...

2024年,要特别注意这两个方位

家居风水对每个家庭都非常重要,可在无形中影响到人们的事业、财富以及健康运势。俗话说:“风水轮流转”,2024年为甲辰龙年,斗转星移、九宫飞星将改变宫位,新一年的磁场即将启动,方位的吉凶也会重新变动&…...

【Chrono Engine学习总结】5-sensor-5.1-sensor基础并创建一个lidar

由于Chrono的官方教程在一些细节方面解释的并不清楚,自己做了一些尝试,做学习总结。 1、Sensor模块 Sensor模块是附加模块,需要单独安装。参考:【Chrono Engine学习总结】1-安装配置与程序运行 Sensor Module Tutorial Sensor …...

springboot/ssm学生信息管理系统Java学生在线选课考试管理系统

springboot/ssm学生信息管理系统Java学生在线选课考试管理系统 开发语言:Java 框架:springboot(可改ssm) vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.…...

three.js 箭头ArrowHelper的实践应用

效果&#xff1a; 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"></div></div></el-main></…...

力扣hot2--哈希

推荐博客&#xff1a; for(auto i : v)遍历容器元素_for auto 遍历-CSDN博客 字母异位词都有一个特点&#xff1a;也就是对这个词排序之后结果会相同。所以将排序之后的string作为key&#xff0c;将排序之后能变成key的单词组vector<string>作为value。 class Solution …...

【正在更新】从零开始认识语音识别:DNN-HMM混合系统语音识别(ASR)原理

摘要 | Abstract 这是一篇对语音识别中的一种热门技术——DNN-HMM混合系统原理的透彻介绍。本文自2月10日开始撰写&#xff0c;计划一星期内写完。 1.前言 | Introduction 近期想深入了解语音识别(ASR)中隐马尔可夫模型(HMM)和深度神经网络-隐马尔可夫(DNN-HMM)混合模型&#…...

thinkphp+vue企业产品展示网站f7enu

本文首先介绍了企业产品展示网站管理技术的发展背景与发展现状&#xff0c;然后遵循软件常规开发流程&#xff0c;首先针对系统选取适用的语言和开发平台&#xff0c;根据需求分析制定模块并设计数据库结构&#xff0c;再根据系统总体功能模块的设计绘制系统的功能模块图&#…...

在Ubuntu22.04上部署ComfyUI

ComfyUI 是 一个基于节点流程的 Stable Diffusion 操作界面&#xff0c;可以通过流程&#xff0c;实现了更加精准的工作流定制和完善的可复现性。每一个模块都有特定的的功能&#xff0c;我们可以通过调整模块连接达到不同的出图效果&#xff0c;特点如下&#xff1a; 1.对显存…...

Springboot+vue的社区养老服务平台(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频&#xff1a; Springbootvue的社区养老服务平台&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的社区养老服务平台&#xff0c;采用M&#xff08;model&…...

计算机设计大赛 深度学习+opencv+python实现车道线检测 - 自动驾驶

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV56 数据集处理7 模型训练8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &am…...

机器学习2---逻辑回归(基础准备)

逻辑回归是基于线性回归是直线分的也可以做多分类 ## 数学基础 import numpy as np np.pi # 三角函数 np.sin() np.cos() np.tan() # 指数 y3**x # 对数 np.log10(10) np.log2(2) np.e np.log(np.e) #ln(e)# 对数运算 # log(AB) log(A) logB np.log(3*4)np.log(3)np.log(4) #…...

JVM体系

JVM是一种虚拟的计算机&#xff0c;它模拟了一个完整的硬件系统&#xff0c;并运行在一个完全隔离的环境中。这意味着JVM可以看作是一个在操作系统之上的计算机系统&#xff0c;与VMware、Virtual Box等虚拟机类似。JVM的设计目标是提供一个安全、可靠、高效且跨平台的运行环境…...

.NET命令行(CLI)常用命令

本文用于记录了.NET软件开发全生命周期各阶段常用的一些CLI命令&#xff0c;用于开发速查。 .NET命令行&#xff08;CLI&#xff09;常用命令 项目创建&#xff08;1&#xff09;查看本机SDK&#xff08;2&#xff09;查看本机可以使用的.NET版本&#xff08;3&#xff09;生成…...

六、Redis之数据持久化及高频面试题

6.1 数据持久化 官网文档地址&#xff1a;https://redis.io/docs/manual/persistence/ Redis提供了主要提供了 2 种不同形式的持久化方式&#xff1a; RDB&#xff08;Redis数据库&#xff09;&#xff1a;RDB 持久性以指定的时间间隔执行数据集的时间点快照。AOF&#xff0…...

爬虫——ajax和selenuim总结

为什么要写这个博客呢&#xff0c;这个代码前面其实都有&#xff0c;就是结束了。明天搞个qq登录&#xff0c;这个就结束了。 当然也会更新小说爬取&#xff0c;和百度翻译&#xff0c;百度小姐姐的爬取&#xff0c;的对比爬取。总结嘛&#xff01;&#xff01;&#xff01;加…...

【Python】单元测试unittest框架

note 使用unittest框架进行单元测试是Python标准库的一部分&#xff0c;提供了编写测试用例、测试套件以及运行测试的能力。测试用例是继承自unittest.TestCase的类。在这个类中&#xff0c;你可以定义一系列的方法来测试不同的行为。每个测试方法都应该以test开头。 文章目录…...

(三十七)大数据实战——Solr服务的部署安装

前言 Solr是一个基于Apache Lucene的开源搜索平台&#xff0c;它提供了强大的全文搜索、分布式搜索和数据分析功能。Solr 可以用于构建高性能的搜索应用程序&#xff0c;支持从海量数据中快速检索和分析信息。Solr 使用倒排索引和先进的搜索算法&#xff0c;可实现快速而准确的…...

在Ubuntu22.04上部署FoooCUS2.1

Fooocus 是一款基于 Gradio的图像生成软件&#xff0c;Fooocus 是对 Stable Diffusion 和 Midjourney 设计的重新思考&#xff1a; 1、从 Stable Diffusion 学习&#xff0c;该软件是离线的、开源的和免费的。 2、从 Midjourney 中学到&#xff0c;不需要手动调整&#xff0c;…...

详解C语言中的野指针和assert断言

目录 1.野指针1.1 野指针成因1.1.1 指针未初始化1.1.2 指针越界访问1.1.3 指针指向的空间释放 1.2 如何规避野指针1.2.1 指针初始化1.2.2 小心指针越界1.2.3 指针变量不再使用时&#xff0c;及时置为NULL&#xff0c;指针使用之前检查1.2.4 避免返回局部变量的地址 2.assert断言…...

Vue源码系列讲解——模板编译篇【四】(文本解析器)

1. 前言 在上篇文章中我们说了&#xff0c;当HTML解析器解析到文本内容时会调用4个钩子函数中的chars函数来创建文本型的AST节点&#xff0c;并且也说了在chars函数中会根据文本内容是否包含变量再细分为创建含有变量的AST节点和不包含变量的AST节点&#xff0c;如下&#xff…...

微信小程序开发学习笔记《17》uni-app框架-tabBar

微信小程序开发学习笔记《17》uni-app框架-tabBar 博主正在学习微信小程序开发&#xff0c;希望记录自己学习过程同时与广大网友共同学习讨论。建议仔细阅读uni-app对应官方文档 一、创建tabBar分支 运行如下的命令&#xff0c;基于master分支在本地创建tabBar子分支&#x…...

《区块链公链数据分析简易速速上手小册》第5章:高级数据分析技术(2024 最新版)

文章目录 5.1 跨链交易分析5.1.1 基础知识5.1.2 重点案例&#xff1a;分析以太坊到 BSC 的跨链交易理论步骤和工具准备Python 代码示例构思步骤1: 设置环境和获取合约信息步骤2: 分析以太坊上的锁定交易步骤3: 跟踪BSC上的铸币交易 结论 5.1.3 拓展案例 1&#xff1a;使用 Pyth…...

【芯片设计- RTL 数字逻辑设计入门 15 -- 函数实现数据大小端转换】

文章目录 函数实现数据大小端转换函数语法函数使用的规则Verilog and Testbench综合图VCS 仿真波形 函数实现数据大小端转换 在数字芯片设计中&#xff0c;经常把实现特定功能的模块编写成函数&#xff0c;在需要的时候再在主模块中调用&#xff0c;以提高代码的复用性和提高设…...

Codeforces Round 925 (Div. 3) D. Divisible Pairs (Java)

Codeforces Round 925 (Div. 3) D. Divisible Pairs (Java) 比赛链接&#xff1a;Codeforces Round 925 (Div. 3) D题传送门&#xff1a;D.Divisible Pairs 题目&#xff1a;D.Divisible Pairs 题目描述 输出格式 For each test case, output a single integer — the num…...