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

深度学习常见框架:TensorFlow 与 PyTorch 简介与对比

🐇明明跟你说过:个人主页

🏅个人专栏:《深度探秘:AI界的007》 🏅

🔖行路有良友,便是天堂🔖

目录

一、引言

1、为什么需要深度学习框架?

2、框架的发展背景与主流选择

二、TensorFlow 简介 

1、背景与维护团队(Google)

2、特点与核心理念

3、主要组件

4、应用场景与代表项目

三、PyTorch 简介

1、背景与维护团队(Meta / Facebook)

2、特点与核心理念

3、应用场景与代表项目

四、TensorFlow vs PyTorch 全面对比

1、两大巨头简介

2、核心机制对比

3、模型构建与训练

4、生态与部署能力

5、社区与使用趋势

6、如何选择?


一、引言

1、为什么需要深度学习框架?

🎯 1. 简化代码开发:省时省力

手写一个神经网络,从前向传播、反向传播、梯度计算到参数更新,全都自己写?太难太耗时了!

深度学习框架像是帮你搭好骨架的积木:你只需要组合层、设定参数、写 loss 函数,就能快速搭建神经网络。

比如:

import torch.nn as nn
model = nn.Sequential(nn.Linear(784, 256),nn.ReLU(),nn.Linear(256, 10)
)

🔧 这几行代码,在底层是几百行数学逻辑!


🔁 2. 自动微分机制:再也不用手写梯度了

训练模型的关键是“梯度下降”,而计算梯度非常复杂。

深度学习框架像 PyTorch / TensorFlow 会自动追踪每一步计算过程,然后自动求梯度、更新参数。

🧠 就像有人帮你算好导数,你只要负责喂数据、跑模型!


⚙️ 3. GPU 加速:深度学习快马加鞭的秘诀

深度学习训练通常需要海量数据、成千上万的矩阵运算。

框架帮你:

  • 自动把数据和计算放到 GPU

  • 调用高效底层库(如 CUDA、cuDNN)

  • 大大提升训练速度(比 CPU 快几十倍)


 📚 总结一句话:

深度学习框架是 AI 工程师的“瑞士军刀” —— 降低门槛、提高效率,让你专注于模型设计和创新,而不是重复造轮子。

 


2、框架的发展背景与主流选择

🎞️发展背景:为什么会出现深度学习框架?

🧠 1. 人工智能爆发前夕(2010 年前后)

  • 深度学习早期(如 BP 网络、LeNet)都是纯手写数学代码(C、C++、Matlab 等),开发效率极低,容易出错。

  • 神经网络模型复杂度逐步上升,手动写梯度太痛苦,训练过程也很慢。

🚀 2. 2012 年 ImageNet 大爆炸 💥

  • AlexNet 横空出世,引发深度学习浪潮。

  • 研究者急需一种工具,能快速搭建复杂网络 + 利用 GPU 训练

  • 深度学习框架就这样应运而生!


🏗️ 主流框架的演进过程

时间框架特点
2014Caffe静态图,配置式定义网络,图像处理强,但灵活性差
2015TensorFlowGoogle 出品,强大工业级,静态计算图,后续加入动态图
2016Keras简洁易用的高层 API,适合入门,后被纳入 TensorFlow
2016PyTorchFacebook 出品,动态图灵活易调试,迅速成为主流
2019JAXGoogle 推出,强调函数式编程,适合科研和加速
2020+MindSpore、PaddlePaddle、OneFlow 等国产框架更加适配国产芯片、模型优化方向


 🔍 当前主流框架对比(截至 2025)

框架适用人群优点缺点
PyTorch学术 + 工程动态图、易调试、社区活跃、生态丰富初期部署稍复杂,现已大幅改善
TensorFlow工程 + 生产环境工业级部署强、性能好、工具链完整静态图难调试、入门复杂
Keras(TF2.x 集成)初学者API 简洁、上手快灵活性较低,底层封装较深
JAX科研前沿人员自动微分、并行计算强、适合实验生态不如 PyTorch 丰富
PaddlePaddle(飞桨)国内开发者中文文档友好、政府/高校支持社区影响力较弱


二、TensorFlow 简介 

TensorFlow 是由 Google 开发和维护的一个开源机器学习和深度学习框架,主要用于构建、训练和部署各种神经网络模型。

它不仅能用于研究和实验,还特别适合大规模生产环境部署,被广泛应用于图像识别、语音识别、自然语言处理、推荐系统等领域。

1、背景与维护团队(Google)

🧬 背景故事

📆 出生时间:2015 年

TensorFlow 的前身叫做 DistBelief,是 Google 内部使用的一个分布式深度学习系统,主要服务于像 Google Search、Gmail、Google Photos 这样的核心产品。

但由于 DistBelief 的封闭性、难以扩展,Google 团队决定重新设计并开源一个更通用、灵活、高效的框架,这就是:

🔥 TensorFlow 1.0 —— 于 2015 年底正式发布。

🔁 大版本进化:

  • TensorFlow 1.x:基于静态图,效率高但调试不便。

  • TensorFlow 2.x(2019):全面升级,支持动态图(eager execution),默认整合 Keras,变得更易用、更 Pythonic。


🏢 维护团队:Google Brain & Google AI

TensorFlow 由 Google Brain 团队主导开发与维护,核心团队成员包括:

  • Jeff Dean(Google AI 大佬,深度学习布道者)

  • Rajat Monga(TensorFlow 联合创始人)

  • Martin Wicke(TensorFlow 2.0 关键推动者)

此外,Google Cloud AI 也深度参与了 TF 的部署和优化,使其成为 Google 云平台上的主要 AI 工具。


 💡 Google 自己也在用 TensorFlow

TensorFlow 并不是只给外部用户用,Google 自家的产品也是它的“铁粉”:

产品用途
Google Translate神经机器翻译模型(NMT)
Google Photos图像分类、人脸识别
Gmail智能回复、垃圾邮件识别
Google Ads广告推荐与投放优化
YouTube视频推荐系统


2、特点与核心理念

🎯 TensorFlow 的核心理念

TensorFlow 的名字就蕴含了它的哲学:

💡 Tensor + Flow(张量流动)
将数据抽象为多维数组(Tensor),模型的执行被表示为一张计算图(Graph)上的“数据流动”(Flow)。

这使得整个系统既可用于本地调试,也便于分布式部署和硬件加速,做到灵活而强大。


✨ TensorFlow 的主要特点

🔁 1. 动态图 + 静态图并存

  • TF 1.x:静态计算图(构建图 → 执行图)

    • 优点:高性能、可部署、跨平台

    • 缺点:不直观、调试困难

  • TF 2.x:默认使用动态图(Eager Execution)

    • 代码更符合 Python 习惯,调试更方便

    • 支持动态图与静态图互转(@tf.function 装饰器)

✅ 灵活与性能兼顾,是 TensorFlow 的进化关键。


📦 2. 一站式生态系统超强

TensorFlow 不只是一个框架,而是一个完整的 AI 工程平台,从开发到部署全覆盖:

模块名称用途
Keras高层 API,快速构建与训练模型
TensorBoard训练过程可视化
TF Lite模型轻量化,部署到手机/IoT
TF Serving模型线上部署,做成 API
TF Hub使用社区共享的预训练模型
TFX构建工业级机器学习流水线

🧠 3. 高度兼容 Keras,适合初学者

TensorFlow 2.x 完全整合了 Keras,你可以像搭积木一样搭网络结构:

from tensorflow import keras
model = keras.Sequential([keras.layers.Dense(128, activation='relu'),keras.layers.Dense(10, activation='softmax')
])
  • API 简洁、上手快

  • 配合 TensorBoard 还能实时可视化训练过程

🚀 非常适合教学、入门和实验!


🚀 4. 多平台、多硬件支持

TensorFlow 天生为大规模计算而生,支持:

  • ✅ CPU、GPU、TPU(谷歌自研芯片)

  • ✅ Windows、Linux、macOS、Android、iOS

  • ✅ 云平台(Google Cloud、AWS、Azure 等)

而且还有 JAX / XLA 编译器,进一步提升执行效率。


🌐 5. 广泛应用于生产环境

TensorFlow 是 Google 内部大量产品的支撑底座,稳定性与可靠性超强。

此外,它也被许多大公司采纳:

  • Twitter:文本分类

  • Airbnb:价格预测

  • NASA:卫星图像分析

  • 京东、字节跳动、阿里巴巴 等国内企业


✅ 总结一句话:

TensorFlow 的核心理念是:用统一的张量计算框架支持端到端 AI 生命周期,从模型开发 → 训练 → 可视化 → 优化 → 部署。

 


3、主要组件

1️⃣ Keras:高级神经网络 API 💡

🔧 功能:快速、易用地构建神经网络
✅ 特点:模块化、可拓展、可调试

TensorFlow 2.x 中,Keras 被集成为官方高级接口tf.keras):

from tensorflow import keras
model = keras.Sequential([keras.layers.Dense(128, activation='relu'),keras.layers.Dense(10, activation='softmax')
])

📌 常用于:

  • 初学者建模

  • 快速原型开发

  • 高级用户也可自定义模型、训练流程(使用 Functional / Subclass API)


2️⃣ 高阶 API:Model Fit / Compile / Evaluate 🤖

Keras 的 API 模型采用类似 sklearn 的风格,方便易懂:

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(train_x, train_y, epochs=10, validation_data=(val_x, val_y))

✅ 不管你是小白还是老手,都能快速训练模型,还支持回调函数、早停机制、学习率调度等高级功能。


3️⃣ TensorBoard:训练过程可视化 📊

🔍 用于实时监控训练状态、模型结构、损失曲线等

只需几行代码即可集成:

tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir='./logs')
model.fit(..., callbacks=[tensorboard_callback])

然后用命令打开:

tensorboard --logdir=./logs

🎯 非常适合调试、分享实验过程,团队协作更高效。


4️⃣ TF Serving:在线部署模型 🚀

📦 TensorFlow Serving 是专为生产环境部署模型设计的系统。

✅ 特点:

  • 快速加载 SavedModel 格式

  • 支持 REST API / gRPC 接口调用

  • 自动版本管理

📦 简单流程:

tensorflow_model_server --rest_api_port=8501 --model_name=my_model --model_base_path=/models/my_model

🌐 应用场景:

  • 构建在线问答系统

  • 模型微服务化部署

  • 云端自动扩容


4、应用场景与代表项目

🧠 1. 图像识别 & 计算机视觉

应用方向:

  • 人脸识别 👤

  • 医学图像诊断 🩻

  • 工业缺陷检测 🏭

  • 图像风格迁移 🎨

代表案例:

  • Google Photos 使用 TensorFlow 做照片分类与人脸聚类

  • 农作物病害识别系统:通过图像识别检测作物健康状态

  • NASA 使用 TensorFlow 分析卫星图像识别地表变化


🗣️ 2. 自然语言处理(NLP)

应用方向:

  • 机器翻译 🌍

  • 文本情感分析 😄😠

  • 问答系统 🤖

  • 自动摘要 📝

代表案例:

  • Google Translate:TensorFlow 支撑其神经网络翻译系统

  • BERT 模型训练与优化:在 TensorFlow 上开源并广泛使用

  • 智能客服机器人:银行、保险等行业的问答系统


🚗 3. 自动驾驶 & 智能交通

应用方向:

  • 路况识别 🚦

  • 目标检测 🚗

  • 路线规划 🗺️

代表案例:

  • Waymo(谷歌自动驾驶):使用 TensorFlow 处理感知与控制任务

  • 交通摄像头分析系统:识别车辆类型、车牌、违法行为等


三、PyTorch 简介

PyTorch 是一个基于 Python 的深度学习框架,主打灵活性、易用性和动态图计算。

📌 它的 slogan 就很直接:

“An open source machine learning framework that accelerates the path from research prototyping to production deployment.”

通俗来说:既适合搞科研,又能上生产。

1、背景与维护团队(Meta / Facebook)

🧠 背景故事

🏢 由谁开发?

PyTorch 最初由 Meta AI(原 Facebook AI Research,简称 FAIR) 在 2016 年发布。

  • 目的:打造一个更灵活好用的替代品,特别是比当时流行的 TensorFlow 更适合科研人员用。

  • 主打亮点:动态图机制(Dynamic Computation Graph),也叫 Eager Execution。


📆 演变过程

时间发展节点
2016PyTorch 发布,第一个稳定版本问世
2017广泛被学术界采纳,成为研究新模型的首选
2019支持生产部署(JIT 编译、TorchScript 等)
2020成为 Facebook、微软等公司生产环境主力框架
2022PyTorch 正式迁移至 Linux 基金会托管(PyTorch Foundation),但核心团队仍由 Meta 主导


2、特点与核心理念

1️⃣ 动态计算图(Dynamic Computation Graph)

🧠 核心理念:代码即模型,模型即代码

  • 每次前向传播都会实时构建计算图(不像 TensorFlow 1.x 需要提前“搭好图”再运行)

  • 好处是:

    • ✅ 更易调试(直接用 Python 的 print() 或调试器)

    • ✅ 灵活实现复杂模型结构(如递归神经网络、条件分支)

🗣 通俗点讲:写 PyTorch 就像写普通 Python 函数一样流畅自然!


 2️⃣ 以 Python 为中心,贴近科研使用习惯

🐍 全部用 Python 编写,API 简洁直观,符合科研人员的思维方式:

x = torch.tensor([1.0, 2.0, 3.0], requires_grad=True)
y = x**2
y.backward()  # 自动求导,计算梯度
print(x.grad)

💬 很多研究者喜欢 PyTorch,因为它“像 NumPy + 自动求导”,简单直接、不绕弯子。


3️⃣ 强大的自动求导机制(Autograd)

🔁 PyTorch 内置 自动微分引擎

  • 只要你在张量上设置了 requires_grad=True,系统就能自动追踪梯度传播路径并反向传播。

  • 自动处理链式法则、Jacobian、Hessian 等高阶导数计算。

✨ 这让训练神经网络变得几乎“无感”操作


🧭 总结一张图:PyTorch 的核心理念

核心理念描述
动态图机制灵活、高效,像 Python 一样写神经网络
简洁 API像 NumPy 一样的张量操作
自动求导内置自动微分系统
模块化设计模型搭建清晰,复用性强
无缝部署从研究原型到工业部署都能搞定


3、应用场景与代表项目

🧠 1. 自然语言处理(NLP)

  • 情感分析、文本分类、命名实体识别、翻译、问答系统、对话机器人…

  • 🔧 常用库:🤗 Hugging Face Transformers(基于 PyTorch)

代表应用:

  • ChatGPT(早期 OpenAI 训练时用过 PyTorch)

  • 微软小冰、讯飞星火等中文大模型


 👁️‍🗨️ 2. 计算机视觉(CV)

  • 图像识别、物体检测、图像分割、风格迁移、图像生成…

  • 🔧 常用库:torchvision、YOLO 系列等

代表项目:

  • Facebook 的图像内容审查系统

  • Tesla 自动驾驶图像处理模块

  • Stable Diffusion(图像生成模型)


🎮 3. 强化学习(RL)

  • 机器人控制、游戏 AI、自动交易系统…

  • 🔧 常用库:torchrl、OpenAI Gym + PyTorch

代表项目:

  • Meta AI 在《星际争霸》和《Minecraft》上的 RL 研究

  • DeepMind 模型在 Atari 游戏中的应用(PyTorch 重写版)


 🌟 PyTorch 代表项目合集

项目简介所属方向
Hugging Face Transformers大模型(BERT, GPT等)开源库,基于 PyTorchNLP
YOLOv5实时目标检测模型,极高性能CV
Stable Diffusion文本生成图像的火爆模型AIGC
TorchRL / RLlib强化学习框架强化学习
PyG (PyTorch Geometric)图神经网络工具集GNN
Segment Anything (SAM)图像分割大模型,Meta 出品CV
FastAI高阶封装库,便于入门和原型开发通用


四、TensorFlow vs PyTorch 全面对比

1、两大巨头简介

🎯 总览:两大巨头简介

框架TensorFlow 🟦PyTorch 🔶
出品方Google / Google BrainMeta(Facebook AI)
初始发布时间2015 年2016 年
编程语言多语言支持(Python/C++/JS)以 Python 为主
框架定位工程部署 + 跨平台科研友好 + 工程渐强
主流用途生产部署、大型系统快速原型、模型开发


2、核心机制对比

⚙️ 核心机制对比

对比维度TensorFlow 🟦PyTorch 🔶
计算图类型静态计算图(TensorFlow 1.x)
动态图支持(TF 2.x 引入 Eager Execution
动态计算图为主(定义即执行)
调试方式靠日志 / TensorBoard 等直接用 Python 调试工具,友好易上手
可读性初学者较陡峭,结构较重Pythonic 风格,代码简洁清晰
开发体验工程化强,适合大团队协作快速迭代,适合个人/研究开发
API 风格面向图的声明式 API + Keras 高阶封装面向对象,Module、Tensor 为核心


3、模型构建与训练

🧠 模型构建与训练

对比维度TensorFlow 🟦PyTorch 🔶
构建模型方式Keras Sequential / Functional / Subclassnn.Module 子类定义模型
自动求导tf.GradientTapeautograd 内置自动求导
训练方式model.fit()(Keras) or 手写训练循环多为手写训练循环,自由度高
数据加载工具tf.data.Datasettorch.utils.data.DataLoader

4、生态与部署能力

📦 生态与部署能力

对比维度TensorFlow 🟦PyTorch 🔶
部署工具链TensorFlow Serving、TFLite、TF.js、Edge TPUTorchServe、ONNX、TorchScript
跨平台支持移动端、浏览器、小设备、云原生部署部署支持较晚,但已逐步完善
可视化支持TensorBoard 🧠支持 TensorBoard,但原生支持较弱
模型导出格式SavedModel、HDF5TorchScript、ONNX
第三方集成Hugging Face / KerasNLP / TF AgentsHugging Face / torchvision / torchaudio

5、社区与使用趋势

🌍 社区与使用趋势

对比维度TensorFlow 🟦PyTorch 🔶
社区支持Google 提供强力支持,文档全面社区活跃,开源项目丰富
学术界使用率较少(因早期静态图开发不便)高(论文和开源实现多用 PyTorch)
工业界使用率高,Google 内部几乎全栈 TensorFlow上升迅速,Meta / 微软等用 PyTorch
教学推荐度Keras 提供入门好材料PyTorch 更适合教学与实战体验


6、如何选择?

✅ 总结:如何选择?

你的目标是...推荐框架
快速原型 / 学术研究 / 自由调试✅ PyTorch
商业部署 / 移动端部署 / 云集成✅ TensorFlow
简洁入门 / 小项目教学✅ PyTorch(或 Keras)
跨语言调用 / 高性能生产部署✅ TensorFlow

📌 一句话总结:

PyTorch 更灵活好用,适合搞研究与快速迭代;TensorFlow 工程化更强,适合部署到各种平台。


  💕💕💕每一次的分享都是一次成长的旅程,感谢您的陪伴和关注。希望这些文章能陪伴您走过技术的一段旅程,共同见证成长和进步!😺😺😺

🧨🧨🧨让我们一起在技术的海洋中探索前行,共同书写美好的未来!!!   

相关文章:

深度学习常见框架:TensorFlow 与 PyTorch 简介与对比

🐇明明跟你说过:个人主页 🏅个人专栏:《深度探秘:AI界的007》 🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、为什么需要深度学习框架? 2、框架的发展背…...

iOS 类与对象底层原理

iOS 类与对象底层原理 文章目录 iOS 类与对象底层原理探索对象本质objc_setProperty 源码cls与类的关联原理联合体isa的类型isa_t 原理探索initIsa方法通过setClass方法中的shiftcls来验证绑定的一个流程通过 isa & ISA_MSAK通过object_getClass通过位运算 类&类的结构…...

Babel、core-js、Loader之间的关系和作用全解析

在现代前端开发中,Babel、polyfill(如 core-js)和 Loader 是非常常见又容易混淆的几个概念。为了彻底搞明白它们的作用、关系和使用方法,下面一篇文章详细梳理。 一、Babel的作用 Babel 是一个 JavaScript 的编译器,主…...

总线位宽不变,有效数据位宽变化的缓存方案

总线位宽不变,有效数据位宽变化的缓存方案 譬如总线位宽为64bit,但是有时候只有高32bit有效,有时只有低32bit有效,有时64bit都有效。总线上收到的数据要先缓存到FIFO中,那么这个FIFO的宽度和深度如何设置呢&#xff1…...

若依脱敏功能升级:接口返回想脱就脱,想不脱就不脱(实现灵活可控制的数据脱敏)

若依原生框架中的脱敏功能不够灵活(默认超级管理员不脱敏,其他则脱敏)。 有时候,我们有些接口想要脱敏,但是有些接口又不想脱敏。(例如列表查询的时候脱敏。修改的时候,不想数据脱敏&#xff0…...

【Azure Redis 缓存】在Azure Redis中,如何限制只允许Azure App Service访问?

问题描述 在Azure Redis服务中,如何实现只允许Azure App Service访问呢? 问题解答 Azure Redis 开启 防火墙的功能,并在防火墙中添加上App Service的出口IP地址即可。两步即可实现此目的! 1)查询 App Service 的出口IP…...

如何解决无训练数据问题:一种更为智能化的解决方案

手动标注数据真的很费时间,而且买数据集又贵得要命,还不一定能完全符合你的需求。但这里有个令人兴奋的好消息,为啥不用 AI 来解决这个问题呢? 别再依赖传统方法了,你可以用像 LLM(大型语言模型)和图像生成器这样的 AI 工具,为你的特定目标创建合成训练数据。如今有那…...

AI 应用同质化:一场看不见的资源 “吞噬战”

大家好,我是涛涛,今天聊聊令人担心的事情。 一、同质化的“繁荣”背后 当ChatGPT在2022年掀起全球AI热潮时,中国互联网行业迅速进入“All in AI”模式。根据艾瑞咨询数据,2023年国内AI应用市场新增注册企业超2.3万家&#xff0c…...

Java + Spring Boot + MyBatis获取以及持久化sql语句的方法

在Java的Spring Boot项目中结合MyBatis获取实际执行的SQL语句,可以通过以下几种方法实现: 方法一:配置MyBatis日志级别 通过调整日志级别,MyBatis会输出执行的SQL语句及参数,适用于快速调试。 修改application.prope…...

「浏览器即OS」:WebVM技术栈如何用Wasm字节码重构冯·诺依曼体系?

一、冯诺依曼架构的维度坍塌 1. 传统计算模型的能量耗散 浏览器执行效率瓶颈分析: 操作x86指令周期Wasm指令周期能效比提升矩阵乘法3894.2x内存访问1234x系统调用120012100x 二、WebVM的量子纠缠架构 1. 浏览器内核的重构 // 基于WASI的系统调用处理 #[no_mangl…...

Vue3项目目录结构规范建议

以下是一个推荐的 Vue 3 项目目录结构规范,适用于中大型项目并遵循最佳实践: 基础目录结构 bash src/ ├─ assets/ # 静态资源 │ ├─ images/ # 图片文件 │ ├─ fonts/ # 字体文件 │ └─ styles/ …...

【计算机视觉】CV实战项目- Four-Flower:基于TensorFlow的花朵分类实战指南

深度解析Four-Flower:基于TensorFlow的花朵分类实战指南 项目概述与技术背景技术栈组成 完整实战流程环境配置1. 基础环境安装2. 项目环境搭建3. 环境验证 数据准备模型架构解析训练过程优化1. 训练配置2. 关键参数建议3. 训练监控 常见问题与解决方案1. 内存不足错…...

4.27 JavaScript核心语法+事件监听

JavaScript负责网页的行为(交互行为) JS基本语法: 引用方式 变量&常量&数据类型: alert()标签输出弹出框,如以上代码会输出true。 函数: 自定义对象: 属性方法行为 JS中的全局变量是window。 js…...

于键值(KV)的表

基于键值(KV)的表 将行编码为键值(KVs) 索引查询:点查询和范围查询 在关系型数据库中,数据被建模为由行和列组成的二维表。用户通过SQL表达他们的意图,而数据库则神奇地提供结果。不那么神奇的…...

Matlab算例运行

1. 使用终端命令运行算例: 2. 如果点击Run 按钮就是会一直报错,所以直接改成终端运行算例...

package.json script 中的 prepare 脚本的作用是什么

在 package.json 的 scripts 中,prepare 脚本是一个特殊的生命周期脚本,主要作用和执行时机如下: prepare 脚本的作用和执行时机 执行时机: 在执行 npm publish 命令之前运行。在执行不带参数的 npm install 命令时运行&#xff…...

图论---最大流(Dinic)

最大流一定是阻塞流,阻塞流不一定是最大流。 阻塞流---从起点到终点的管道已经阻塞了。 时间复杂度: 一般情况:O(n2m)O(n2m)(但实际运行效率较高,尤其在稀疏图上)。 使用当前弧优化后,效率接近…...

FastAPI系列06:FastAPI响应(Response)

FastAPI响应(Response) 1、Response入门2、Response基本操作设置响应体(返回数据)设置状态码设置响应头设置 Cookies 3、响应模型 response_model4、响应类型 response_classResponse派生类自定义response_class 在“FastAPI系列0…...

双目RealSense系统配置rs_camera.launch----实现D435i自制rosbag数据集到离线场景的slam建图

引言 Intel RealSense系列相机因其出色的深度感知能力和灵活的配置选项,在机器视觉与应用中得到广泛应用。大家在后期的slam学习中,无论是对算法本身的性能要求还是实验的泛化性都有一定的要求,那么公开的数据集如kitti、tum、Eourc不能满足…...

【MCP-2】MCP是什么,利用智普大模型在MaxKB中调用自己开发的MCP服务

在上一篇【MCP-1】MCP是什么,从DEMO入手文章中我们介绍了MCP是什么、他能干啥,以及简单的Demo示例等,这篇文章我们使用MaxKB这个工具,利用智普大模型,看看MCP到底怎么用。 创建SSE协议的MCP服务 在上篇文章中的Demo是…...

Allegro23.1新功能之如何单独关闭铜皮显示效果操作指导

Allegro23.1新功能之如何单独关闭铜皮显示效果操作指导 Allegro升级到了23.1的时候,支持单独关闭铜皮显示 ,如下图 如何仅关闭shape的显示,单独显示线,具体操作如下 点击setup...

《从分遗产说起:JS 原型与继承详解》

“天天开心就好” 先来讲讲概念: 原型(Prototype) 什么是原型? 原型是 JavaScript 中实现对象间共享属性和方法的机制。每个 JavaScript 对象(除了 null)都有一个内部链接指向另一个对象,这…...

【Part 2安卓原生360°VR播放器开发实战】第二节|基于等距圆柱投影方式实现全景视频渲染

《VR 360全景视频开发》专栏 将带你深入探索从全景视频制作到Unity眼镜端应用开发的全流程技术。专栏内容涵盖安卓原生VR播放器开发、Unity VR视频渲染与手势交互、360全景视频制作与优化,以及高分辨率视频性能优化等实战技巧。 📝 希望通过这个专栏&am…...

Android——RecyclerView

RecyclerView的使用 依赖 implementation("androidx.recyclerview:recyclerview:1.4.0")activity_recyclerview.xml <androidx.recyclerview.widget.RecyclerViewandroid:id"id/rv"android:layout_width"match_parent"android:layout_height…...

跨域问题(Cross-Origin Problem)

跨域问题&#xff08;Cross-Origin Problem&#xff09;是浏览器出于安全考虑&#xff0c;对不同源&#xff08;协议、域名、端口&#xff09;之间的资源访问进行限制而引发的限制。以下是详细解释&#xff1a; 1. 核心定义 跨域&#xff1a;当一个网页&#xff08;源A&#x…...

阿里云直接对系统云盘扩容

阿里云直接对系统云盘扩容 登录阿里云控制台&#xff0c;进入ECS实例管理页面&#xff0c;检查目标磁盘的容量是否已更新为扩容后的数值。通过SSH远程连接服务器&#xff0c;使用命令 lsblk 或 fdisk -l 查看当前磁盘分区和容量&#xff0c;确认扩容后的物理磁盘已被系统识别。…...

Java大厂面试突击:从Spring Boot自动配置到Kafka分区策略实战解析

第一轮核心知识 面试官&#xff1a;请解释Spring Boot中自动配置的工作原理并演示如何自定义一个ConfigurationProperties组件&#xff1f; xbhog&#xff1a;自动配置通过EnableAutoConfiguration注解触发&#xff0c;结合当前环境判断&#xff08;如是否检测到MyBatis依赖&…...

【python】lambda用法(结合例子理解)

目录 lambda 是什么? 为什么叫 lambda? 语法 举例 1. 最简单的 lambda:单个数字处理 2. 用 lambda 排序一组字符串(按照长度排序) 3. 在列表里找出绝对值最小的数字 4. 给 map() 用 lambda 5. 组合使用:筛选出偶数 lambda 和 def 的对比 lambda 适合用在什么地…...

前端Ui设计工具

PS 稿、蓝湖、Sketch 和 Figma 前端 UI 设计工具的对比分析 PS 稿&#xff08;Adobe Photoshop&#xff09; 提供精准设计细节&#xff1a;PS 稿能让前端更精准地理解页面布局、元素尺寸、颜色等&#xff0c;通过精确测量和查看信息面板&#xff0c;把握设计元素的空间关系、…...

深入探索Python Pandas:解锁数据分析的无限可能

放在前头 深入探索Python Pandas&#xff1a;解锁数据分析的无限可能 深入探索Python Pandas&#xff1a;解锁数据分析的无限可能 在当今数据驱动的时代&#xff0c;高效且准确地处理和分析数据成为了各个领域的关键需求。而Python作为一门强大且灵活的编程语言&#xff0c;…...

django admin 设置字段不可编辑

在Django中&#xff0c;如果你想让管理员在后台管理界面中无法编辑某个字段&#xff0c;你可以通过在模型的Meta类中设置editable属性为False&#xff0c;或者在admin.py文件中使用readonly_fields属性来实现。 方法1&#xff1a;在模型中使用Meta类设置 你可以在模型的Meta类…...

AI在医疗领域的10大应用:从疾病预测到手术机器人

AI在医疗领域的10大应用&#xff1a;从疾病预测到手术机器人 系统化学习人工智能网站&#xff08;收藏&#xff09;&#xff1a;https://www.captainbed.cn/flu 文章目录 AI在医疗领域的10大应用&#xff1a;从疾病预测到手术机器人摘要引言1. 医学影像诊断&#xff1a;从静态…...

深入理解 Java 单例模式:从基础到最佳实践

单例&#xff08;Singleton&#xff09;模式是 Java 中最基本、最常用的设计模式之一。它确保一个类在任何情况下都只有一个实例&#xff0c;并提供一个全局访问点来获取这个唯一的实例。 一、为什么需要单例模式&#xff1f;&#xff08;使用场景&#xff09; 单例模式主要适…...

Rust:安全与性能兼得的现代系统编程语言

一、起源与设计理念 Rust 是由 Mozilla 研究院 Graydon Hoare 于 2006 年发起设计的系统级编程语言&#xff0c;其诞生源于传统系统语言&#xff08;如 C/C&#xff09;在内存安全与并发编程方面的缺陷。经过近十年的迭代&#xff0c;Rust 1.0 稳定版于 2015 年正式发布&#…...

AI赋能智慧医疗新范式:小天互连即时通讯打造高效、安全的医疗通讯平台

在医疗行业&#xff0c;高效的信息协作与严格的数据安全不仅直接关系患者诊疗效率&#xff0c;更是医院现代化管理的核心命题。小天互连即时通讯系统通过将智能化功能与医疗场景深度结合&#xff0c;打造出全链路数字化协作平台&#xff0c;有效破解了传统沟通模式的效率瓶颈&a…...

图像生成新势力:GPT-Image-1 与 GPT-4o 在智创聚合 API 的较量

在人工智能领域&#xff0c;图像生成技术正迅速发展&#xff0c;OpenAI 推出的 GPT-Image-1 和 GPT-4o 在图像生成方面展现出了强大的能力。智创聚合 API 平台已支持这两个模型&#xff0c;并且其图片生成 / 编辑工作台支持图片的循环编辑等功能&#xff0c;为用户提供了更便捷…...

如何避免爬虫因Cookie过期导致登录失效

1. Cookie的作用及其过期机制 1.1 什么是Cookie&#xff1f; Cookie是服务器发送到用户浏览器并保存在本地的一小段数据&#xff0c;用于维持用户会话状态。爬虫在模拟登录后&#xff0c;通常需要携带Cookie访问后续页面。 1.2 Cookie为什么会过期&#xff1f; 会话Cookie&…...

集成方案 | Docusign + 甄零科技,赋能企业海外业务高效增长!

本文将详细介绍 Docusign 与甄零科技的集成步骤及其效果&#xff0c;并通过实际应用场景来展示 Docusign 的强大集成能力&#xff0c;以证明 Docusign 集成功能的高效性和实用性。 甄零科技是一家专注于数字化合同管理系统的 SaaS 解决方案提供商&#xff0c;致力于为企业打造“…...

【Arxiv 2025】Single Image Iterative Subject-driven Generation and Editing

文章目录 文章标题作者及研究团队介绍01 在论文所属的研究领域&#xff0c;有哪些待解决的问题或者现有的研究工作仍有哪些不足&#xff1f;02 这篇论文主要解决了什么问题&#xff1f;03 这篇论文解决问题采用的关键解决方案是什么&#xff1f;04 这篇论文的主要贡献是什么&am…...

CoOAG:首个捕捉学术研究兴趣动态演变的数据集

2025-04-24&#xff0c;由西安交通大学基于学术合作网络构建一种新的动态图数据集CoOAG&#xff0c;用于研究动态图中的节点分类问题。该数据集通过捕捉作者研究兴趣的动态变化&#xff0c;为动态图学习领域提供了新的研究方向和测试平台&#xff0c;特别是在标签受限的动态节点…...

决策树随机深林

决策树和随机森林是机器学习中常用的两种模型&#xff0c;以下是对它们的简单介绍&#xff1a; 决策树 - 原理&#xff1a;通过一系列的条件判断对样本进行分类或预测。它由节点&#xff08;内部节点是属性上的测试&#xff0c;叶节点是类别或值&#xff09;和边组成&#xff0…...

Unity 和 Unreal Engine(UE) 两大主流游戏引擎的核心使用方法

以下是 Unity 和 Unreal Engine&#xff08;UE&#xff09; 两大主流游戏引擎的核心使用方法和对比分析&#xff0c;帮助开发者快速上手并根据项目需求选择合适工具&#xff1a; 一、Unity 使用指南 1. 安装与配置 安装&#xff1a;从 Unity Hub 下载&#xff0c;选择长期支持…...

Maven 依赖范围(Scope)详解

Maven 依赖范围&#xff08;Scope&#xff09;详解 Maven 是一个强大的项目管理工具&#xff0c;广泛用于 Java 开发中构建、管理和部署应用程序。在使用 Maven 构建项目时&#xff0c;我们经常需要引入各种第三方库或框架作为项目的依赖项。通过在 pom.xml 文件中的 <depe…...

博物馆除湿控湿保卫战:M-5J1R 电解除湿科技如何重塑文物守护的未来

在卢浮宫幽深的长廊里&#xff0c;达芬奇的《蒙娜丽莎》正经历着一场看不见的战争——不是来自时间的侵蚀&#xff0c;而是空气中无形的水分子。每一件文物都在与湿度进行着无声的抗争&#xff0c;这场抗争关乎人类文明的延续。湿度&#xff0c;这个看不见的文物杀手&#xff0…...

消防应急物资智能调用立库:豪越科技助力消防“速战速决”

在消防救援的战场上&#xff0c;时间就是生命&#xff0c;每一秒都关乎着人民群众的生命财产安全。然而&#xff0c;在过去的紧急救援中&#xff0c;应急物资无法及时到位的情况时有发生&#xff0c;成为制约救援效率的关键难题&#xff0c;给救援工作带来了巨大的困境。 想象一…...

机器学习基础理论 - 分类问题评估指标

几个定义:混淆矩阵 TP: True Positives, 表示实际为正例且被分类器判定为正例的样本数FP: False Positives, 表示实际为负例且被分类器判定为正例的样本数FN: False Negatives, 表示实际为正例但被分类器判定为负例的样本数TN: True Negatives, 表示实际为负例且被分类…...

深度学习4.1 多层感知机

基本概念 多层感知机&#xff08;Multilayer Perceptron, MLP&#xff09;是一种‌前馈人工神经网络‌&#xff0c;由输入层、至少一个隐藏层和输出层组成。 ‌核心特点‌&#xff1a; 采用‌全连接结构‌&#xff08;相邻层神经元全部相连&#xff1b; 通过‌非线性激活函数‌…...

解决两个技术问题后小有感触-QZ Tray使用经验小总结

老朋友都知道&#xff0c;我现在是一家软件公司销售部门的项目经理和全栈开发工程师&#xff0c;就是这么“奇怪”的岗位&#xff0c;大概我是公司销售团队里比较少有技术背景、销售业绩又不那么理想的销售。 近期在某个票务系统项目上驻场&#xff0c;原来我是这个项目的项目…...

非计算机专业如何利用AI开展跨学科和交叉研究

对于非计算机专业的研究者&#xff0c;利用AI开展跨学科研究既充满机遇也面临挑战。以下是一份系统化的指南&#xff0c;帮助您高效入门并找到交叉研究的突破口&#xff1a; 一、认知重塑&#xff1a;理解AI的本质与局限 AI不是“黑箱”&#xff1a;现代AI以数据驱动为核心&a…...

Python 数据可视化进阶:精准插入图表到指定 Excel 工作表

Python 数据可视化进阶&#xff1a;精准插入图表到指定 Excel 工作表 在处理数据的过程中&#xff0c;我们常常需要将生成的图表精准地插入到已存在数据的 Excel 文件的指定工作表中。借助 Python 的强大库组合&#xff0c;这一操作得以高效实现。以下是经过优化和注释补充的代…...