人工智能学习框架的探索与应用

在这里插入图片描述

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:Java案例分享专栏
✨特色专栏:国学周更-心性养成之路
🥭本文内容:人工智能学习框架的探索与应用

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

文章目录

    • 一、引言
    • 二、什么是学习框架?
    • 三、主要类型的学习框架
      • 1. 深度学习框架
        • TensorFlow
        • PyTorch
        • 总结
      • 2. 传统机器学习框架
        • Scikit-learn
        • XGBoost
        • 总结
      • 3. 集成学习框架
        • H2O.ai
        • 总结
    • 四、案例分析
      • 1. TensorFlow:图像分类
      • 2. Scikit-learn:房价预测
      • 3. XGBoost:房价预测
      • 4. PyTorch:图像分类
      • 5. H2O.ai:房价预测
    • 五、结论

在这里插入图片描述

一、引言

  人工智能(AI)正在迅速改变各个行业的面貌,从医疗、金融到制造业,AI的应用无处不在。学习框架作为AI发展的核心组成部分,为开发者提供了构建和训练机器学习模型的工具和方法,使得AI的应用变得更加高效和灵活。学习框架不仅简化了模型的开发过程,还提高了模型的性能和可扩展性。本文将深入探讨人工智能学习框架的基本概念、主要类型及其应用案例,帮助读者更好地理解这一重要领域。

二、什么是学习框架?

  学习框架是一个软件库或工具集,旨在简化机器学习和深度学习模型的构建、训练和部署过程。它们通常包括以下几个核心组件:

  • 数据处理:提供数据预处理、清洗和转换的工具,以便将原始数据转化为适合模型训练的格式。
  • 模型构建:提供多种算法和模型结构,允许开发者根据具体任务选择合适的模型。
  • 训练与优化:提供训练过程中的优化算法、损失函数和超参数调优工具,以提高模型的性能。
  • 评估与部署:提供模型评估指标和部署工具,使得模型能够在生产环境中运行。

三、主要类型的学习框架

  学习框架可以根据其功能和应用场景分为几类:

1. 深度学习框架

  深度学习框架是构建和训练深度学习模型的基础工具。它们提供了丰富的功能和灵活性,使得研究人员和开发者能够高效地实现复杂的神经网络模型。以下是两个最受欢迎的深度学习框架:TensorFlow和PyTorch。

TensorFlow

概述: TensorFlow是由Google Brain团队开发的开源深度学习框架。自2015年发布以来,TensorFlow迅速成为工业界和学术界的热门选择。它支持多种平台,包括桌面、移动设备和云计算环境,适合大规模机器学习任务。

主要特点:

  • 灵活性与可扩展性:TensorFlow支持多种计算模式,包括静态计算图和动态计算图。用户可以根据需求选择适合的模式。
    通过TensorFlow Serving,用户可以轻松部署训练好的模型到生产环境,实现高效的在线推理。
  • 丰富的生态系统:TensorFlow拥有丰富的工具和库,如TensorFlow Lite(用于移动和嵌入式设备)、TensorFlow.js(用于浏览器中的机器学习)和TensorFlow Extended(用于生产级机器学习工作流)。
    TensorBoard是TensorFlow的可视化工具,帮助用户监控训练过程、可视化模型结构和分析性能。
  • 强大的社区支持: TensorFlow拥有活跃的开发者社区,提供了大量的文档、教程和示例代码,帮助新手快速上手。

应用案例: TensorFlow广泛应用于图像识别、自然语言处理、推荐系统等领域。例如,Google Photos使用TensorFlow进行图像分类和搜索功能,帮助用户快速找到所需的照片。

PyTorch

概述: PyTorch是由Facebook AI Research(FAIR)团队开发的开源深度学习框架。自2016年发布以来,PyTorch因其动态计算图和易用性而受到广泛欢迎,尤其在研究领域。

主要特点:

  • 动态计算图:PyTorch的动态计算图特性使得用户可以在运行时定义和修改计算图。这种灵活性使得调试和实验变得更加简单,尤其适合快速迭代和原型开发。
  • 直观的API设计:PyTorch的API设计遵循Pythonic风格,易于理解和使用。用户可以使用标准的Python控制流(如循环和条件语句)来构建模型,使得代码更加简洁和可读。
  • 强大的GPU支持:PyTorch提供了对GPU的原生支持,用户可以轻松地将模型和数据移动到GPU上进行加速计算。这使得大规模深度学习任务的训练变得更加高效。

应用案例: PyTorch在学术界的应用非常广泛,许多前沿研究和论文都使用PyTorch进行实验。例如,OpenAI的GPT系列模型和Facebook的Detectron2(用于目标检测)都是基于PyTorch构建的。

总结

  TensorFlow和PyTorch各有其独特的优势,适用于不同的应用场景。TensorFlow以其强大的生态系统和生产级支持而受到企业青睐,而PyTorch则因其灵活性和易用性而受到研究人员的喜爱。选择合适的框架取决于具体的项目需求和开发者的个人偏好。无论选择哪种框架,深度学习的快速发展都为各行各业带来了前所未有的机遇。

2. 传统机器学习框架

  传统机器学习框架为开发者提供了构建和训练机器学习模型的工具,尤其适合数据分析和小型项目。以下是两个广泛使用的传统机器学习框架:Scikit-learn和XGBoost。

Scikit-learn

概述: Scikit-learn是一个基于Python的开源机器学习库,旨在为数据挖掘和数据分析提供简单而高效的工具。自2007年发布以来,Scikit-learn因其易用性和丰富的功能而成为初学者和专业人士的首选。

主要特点:

  • 多种算法支持:Scikit-learn提供了多种经典的机器学习算法,包括分类(如决策树、支持向量机)、回归(如线性回归、岭回归)、聚类(如K均值、层次聚类)和降维(如主成分分析PCA)。
    这些算法经过优化,能够在各种数据集上高效运行。
  • 一致的API设计:Scikit-learn的API设计遵循一致性原则,使得用户可以轻松切换不同的算法。所有模型都遵循相同的接口,用户只需调用fit()、predict()和score()等方法即可。
  • 数据预处理和特征工程:Scikit-learn提供了丰富的数据预处理工具,包括标准化、归一化、缺失值处理和特征选择。这些工具使得数据清洗和特征工程变得更加高效。
  • 模型评估与选择:Scikit-learn提供了多种模型评估指标和交叉验证工具,帮助用户选择最佳模型和超参数。

应用案例: Scikit-learn广泛应用于金融、医疗、市场营销等领域。例如,在信用评分模型中,Scikit-learn可以帮助金融机构分析客户数据,预测客户的信用风险,从而做出更好的贷款决策。

XGBoost

概述: XGBoost(Extreme Gradient Boosting)是一个高效的梯度提升框架,专注于提升树模型的性能。自2014年发布以来,XGBoost因其卓越的性能和灵活性而在Kaggle竞赛和工业界广泛应用。

主要特点:

  • 高效的计算性能:XGBoost通过并行计算和分布式计算技术显著提高了模型训练的速度。它利用多线程和缓存优化,能够在大规模数据集上快速训练模型。
  • 正则化技术:XGBoost引入了L1(Lasso)和L2(Ridge)正则化,帮助防止过拟合。这使得模型在复杂数据集上的泛化能力更强。
  • 灵活的损失函数:用户可以自定义损失函数和评估指标,以满足特定任务的需求。这种灵活性使得XGBoost适用于多种类型的预测问题。
  • 处理缺失值:XGBoost能够自动处理缺失值,用户无需进行额外的数据清洗。这一特性在处理真实世界数据时非常有用。

应用案例: XGBoost在Kaggle竞赛中表现优异,许多获奖团队都使用XGBoost作为主要模型。例如,在房价预测、信用评分和图像分类等任务中,XGBoost凭借其高效的训练速度和准确性,帮助团队取得了优异的成绩。

总结

  Scikit-learn和XGBoost是两个功能强大的传统机器学习框架,适用于不同的应用场景。Scikit-learn以其简单性和易用性而受到初学者的青睐,适合数据分析和小型项目。而XGBoost则因其卓越的性能和灵活性而在竞争激烈的环境中脱颖而出,广泛应用于Kaggle竞赛和工业界。选择合适的框架取决于具体的项目需求和数据特性。无论是使用Scikit-learn进行快速原型开发,还是利用XGBoost进行高效建模,传统机器学习框架都为数据科学家和开发者提供了强大的支持。

3. 集成学习框架

  集成学习框架通过结合多个模型的预测结果来提高整体性能,常用于提升模型的准确性和鲁棒性。H2O.ai是一个领先的集成学习框架,专注于大数据分析和企业级应用。以下是对H2O.ai的详细阐述。

H2O.ai

概述: H2O.ai是一个开源的机器学习平台,旨在为数据科学家和企业提供高效、可扩展的机器学习解决方案。H2O.ai支持多种机器学习算法,包括传统的线性模型、决策树、集成学习方法(如随机森林和梯度提升机)以及深度学习模型。自2012年成立以来,H2O.ai凭借其强大的功能和易用性,迅速在数据科学领域获得了广泛的认可。

主要特点:

  • 多种算法支持:H2O.ai支持多种机器学习算法,包括:
    • 线性回归和逻辑回归:适用于基本的回归和分类任务。
    • 决策树和随机森林:用于处理复杂的非线性关系。
    • 梯度提升机(GBM):通过集成多个弱学习器来提高预测性能。
    • 深度学习:支持多层神经网络,适合处理大规模数据集。
  • 自动化机器学习(AutoML):H2O.ai的AutoML功能使得非专业人士也能轻松使用机器学习技术。用户只需上传数据集,H2O.ai会自动进行数据预处理、特征工程、模型训练和超参数调优,最终生成最佳模型。
    AutoML功能还支持模型的可解释性,用户可以查看不同模型的性能指标和特征重要性。
  • 大数据处理能力:H2O.ai能够处理大规模数据集,支持分布式计算和内存计算。它可以与Hadoop和Spark等大数据平台无缝集成,适合企业级应用。
    H2O.ai的内存计算能力使得模型训练速度显著提高,能够在短时间内处理数百万条记录。
  • 用户友好的界面:H2O.ai提供了用户友好的Web界面(H2O Flow),使得用户可以通过可视化操作进行数据分析和模型训练,而无需编写复杂的代码。
    同时,H2O.ai也支持Python、R和Java等编程语言,方便开发者在熟悉的环境中进行机器学习任务。
  • 模型部署与集成:H2O.ai支持将训练好的模型导出为多种格式(如MOJO和POJO),方便在生产环境中进行部署。
    用户可以通过REST API将模型集成到现有的应用程序中,实现实时预测。

应用案例: H2O.ai在金融、医疗、零售等多个行业得到了广泛应用。例如,在金融行业,H2O.ai可以帮助银行分析客户数据,进行信用评分和风险管理。在医疗行业,H2O.ai能够分析患者数据,辅助医生进行疾病预测和治疗方案推荐。

总结

  H2O.ai作为一个强大的集成学习框架,凭借其多种算法支持、自动化机器学习功能和大数据处理能力,成为企业和数据科学家的理想选择。无论是专业的数据科学家还是非专业人士,H2O.ai都提供了易于使用的工具,使得机器学习技术的应用变得更加普及。通过H2O.ai,企业能够更高效地利用数据,提升决策能力和业务绩效。

四、案例分析

1. TensorFlow:图像分类

案例:使用TensorFlow进行CIFAR-10图像分类

代码示例:

import tensorflow as tf
from tensorflow.keras import layers, models
from tensorflow.keras.datasets import cifar10

# 1. 数据准备
(train_images, train_labels), (test_images, test_labels) = cifar10.load_data()
train_images = train_images.astype('float32') / 255.0
test_images = test_images.astype('float32') / 255.0

# 2. 模型构建
model = models.Sequential([
    layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
    layers.MaxPooling2D((2, 2)),
    layers.Conv2D(64, (3, 3), activation='relu'),
    layers.MaxPooling2D((2, 2)),
    layers.Conv2D(64, (3, 3), activation='relu'),
    layers.Flatten(),
    layers.Dense(64, activation='relu'),
    layers.Dense(10, activation='softmax')
])

# 3. 模型编译
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

# 4. 模型训练
model.fit(train_images, train_labels, epochs=10, validation_data=(test_images, test_labels))

# 5. 模型评估
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f"测试准确率: {test_acc}")

解释:

  • 数据准备:加载CIFAR-10数据集并进行归一化处理。
  • 模型构建:构建一个卷积神经网络(CNN),包括卷积层、池化层和全连接层。
  • 模型编译:使用Adam优化器和稀疏分类交叉熵损失函数。
  • 模型训练:在训练集上训练模型,并在验证集上评估性能。
  • 模型评估:在测试集上评估模型的准确率。

2. Scikit-learn:房价预测

案例:使用Scikit-learn进行波士顿房价预测

代码示例:

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# 1. 数据准备
boston = load_boston()
X = boston.data
y = boston.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 2. 模型构建
model = LinearRegression()

# 3. 模型训练
model.fit(X_train, y_train)

# 4. 模型预测
y_pred = model.predict(X_test)

# 5. 模型评估
mse = mean_squared_error(y_test, y_pred)
print(f"均方误差: {mse}")

解释:

  • 数据准备:加载波士顿房价数据集并进行训练集和测试集的划分。
  • 模型构建:使用线性回归模型。
  • 模型训练:在训练集上训练模型。
  • 模型预测:在测试集上进行预测。
  • 模型评估:计算均方误差(MSE)作为模型性能指标。

3. XGBoost:房价预测

案例:使用XGBoost进行波士顿房价预测

代码示例:

import xgboost as xgb
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error

# 1. 数据准备
boston = load_boston()
X = boston.data
y = boston.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 2. 模型构建
model = xgb.XGBRegressor(objective='reg:squarederror', n_estimators=100)

# 3. 模型训练
model.fit(X_train, y_train)

# 4. 模型预测
y_pred = model.predict(X_test)

# 5. 模型评估
mse = mean_squared_error(y_test, y_pred)
print(f"均方误差: {mse}")

解释:

  • 数据准备:加载波士顿房价数据集并进行训练集和测试集的划分。
  • 模型构建:使用XGBoost的回归模型。
  • 模型训练:在训练集上训练模型。
  • 模型预测:在测试集上进行预测。
  • 模型评估:计算均方误差(MSE)作为模型性能指标。

4. PyTorch:图像分类

案例:使用PyTorch进行CIFAR-10图像分类

代码示例:

import torch
import torch.nn as nn
import torch.optim as optim
import torchvision
import torchvision.transforms as transforms

# 1. 数据准备
transform = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
])

trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4, shuffle=True, num_workers=2)

testset = torchvision.datasets.CIFAR10(root='./data', train=False, download=True, transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=4, shuffle=False, num_workers=2)

# 2. 模型构建
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv1 = nn.Conv2d(3, 6, 5)
        self.pool = nn.MaxPool2d(2, 2)
        self.conv2 = nn.Conv2d(6, 16, 5)
        self.fc1 = nn.Linear(16 * 5 * 5, 120)
        self.fc2 = nn.Linear(120, 84)
        self.fc3 = nn.Linear(84, 10)

    def forward(self, x):
        x = self.pool(F.relu(self.conv1(x)))
        x = self.pool(F.relu(self.conv2(x)))
        x = x.view(-1, 16 * 5 * 5)
        x = F.relu(self.fc1(x))
        x = F.relu(self.fc2(x))
        x = self.fc3(x)
        return x

model = Net()

# 3. 模型训练
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.001, momentum=0.9)

for epoch in range(2):  # 训练2个epoch
    for inputs, labels in trainloader:
        optimizer.zero_grad()
        outputs = model(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()

# 4. 模型评估
correct = 0
total = 0
with torch.no_grad():
    for inputs, labels in testloader:
        outputs = model(inputs)
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()

print(f'测试准确率: {100 * correct / total}%')

解释:

  • 数据准备:使用torchvision加载CIFAR-10数据集,并进行标准化处理。
  • 模型构建:定义一个简单的卷积神经网络(CNN),包括卷积层、池化层和全连接层。
  • 模型训练:使用交叉熵损失函数和随机梯度下降优化器进行训练。
  • 模型评估:在测试集上评估模型的准确率。

5. H2O.ai:房价预测

案例:使用H2O.ai进行波士顿房价预测

代码示例:

import h2o
from h2o.estimators import H2OGeneralizedLinearEstimator
from h2o.datasets import boston

# 1. 初始化H2O集群
h2o.init()

# 2. 数据准备
data = boston.load_dataset()
data['medv'] = data['medv'].asnumeric()  # 确保目标变量为数值型
train, test = data.split_frame(ratios=[.8])  # 划分训练集和测试集

# 3. 模型构建
model = H2OGeneralizedLinearEstimator(family='gaussian')
model.train(x=data.columns[:-1], y='medv', training_frame=train)

# 4. 模型预测
predictions = model.predict(test)

# 5. 模型评估
performance = model.model_performance(test)
print(performance)

解释:

  • 初始化H2O集群:启动H2O集群以进行数据处理和模型训练。
  • 数据准备:加载波士顿房价数据集,并将目标变量转换为数值型。然后将数据集划分为训练集和测试集。
  • 模型构建:使用H2O的广义线性模型(GLM)进行训练。
  • 模型预测:在测试集上进行预测。
  • 模型评估:评估模型性能并输出结果。

五、结论

  人工智能学习框架为开发者提供了强大的工具,使得构建和训练机器学习模型变得更加高效。通过具体的案例,我们可以看到不同框架在不同任务中的应用潜力。随着技术的不断进步,学习框架将继续演变,为AI的未来发展提供更多可能性。

  希望本文能够帮助你更好地理解人工智能学习框架的基本概念及其应用。如果你有任何问题或想法,欢迎随时交流!


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/892777.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spark:DataFrame介绍及使用

1. DataFrame详解 DataFrame是基于RDD进行封装的结构化数据类型,增加了schema元数据,最终DataFrame类型在计算时,还是转为rdd计算。DataFrame的结构化数据有Row(行数据)和schema元数据构成。 Row 类型 表示一行数据 …

中文情感分析课程设计

中文情感分析 中文情感分析的实质是文本分类问题,本项目分别采用CNN和BI-LSTM两种模型解决文本分类任务,并用于情感分析,达到不错的效果。 两种模型在小数据集上训练,在验证集的准确率、号回率及F1因子均接近90% 项目设计的目标…

短链接能有多短?颠覆你的认知

在我们平时的网络活动中,经常会遇到需要将长链接缩短的情况。有细心的小伙伴会发现,平时收到的短信里面都会携带一个很短的链接,这就是将长链接缩短之后的效果。 缩短链接的主要目的有两个:一是使链接更加简洁美观;二…

基于SSM的网上拍卖平台

文未可获取一份本项目的java源码和数据库参考。 1. 选题背景 网络在人们的日常生活所占的比重越来越重,人们对网络信息的依赖性也越来越高。为用户提供良好的网络服务,可以给用户带来便捷的同时,也为网络服务开发商带来了客观的收益。当前&…

4-20mA采集卡 USB温度采集卡 USB热电偶采集 USB5601多功能采集卡

阿尔泰科技 型号:USB5601 概述: 产品外形图: 外形尺寸图: 主要指标: 8 路差分模拟量采集、8 路隔离数字量输入和 8 路隔离数字量输出 要了解更多技术和产品知识关注我吧!

最大公共子序列c++

最大公共子序列c 概念基本的概念 递归算法代码优化map基础优化代码 概念 基本的概念 子序列: 由原序列中若干个元素组成,元素可以不连续,但和原序列的顺序一致。最长公共子序列: 一个序列即是甲序列的子序列,也是乙序…

DNDC模型下载与安装;土壤碳储量;点尺度和区域尺度模拟;气象数据、土地数据、土壤数据处理、农田减排潜力分析、温室气体排放分析等

实现美丽中国建设目标,“双碳”行动将会发挥非常重要的作用。碳循环的精确模拟是实现“双碳”行动的关键。DNDC(Denitrification-Decomposition,反硝化-分解模型)是目前国际上最为成功的模拟生物地球化学循环的模型之一&#xff0…

spark:Structured Streaming介绍

文章目录 1. Structured Streaming介绍1.1 实时计算和离线计算1.1.1 实时计算1.1.2 离线计算 1.2 有界和无界数据 2. 简单使用3. 编程模型4. 数据处理流程4.1 读取数据Source4.1.1 文件数据处理 4.2 计算操作 Operation4.3 数据输出 Sink4.3.1 输出模式4.3.2 指定输出位置4.3.3…

Html/Vue浏览器下载并重命名文件

Html/Vue浏览器下载并重命名文件 row是上方图片的数据对象 download(row) {const link document.createElement(a);link.style.display none;// 设置下载地址link.setAttribute(href, row.url);// 设置文件名(这里可以重新设置名字,下载之后的文件就是你重新命名…

【数据结构与算法】链表(上)

记录自己所学&#xff0c;无详细讲解 无头单链表实现 1.项目目录文件 2.头文件 Slist.h #include <stdio.h> #include <assert.h> #include <stdlib.h> struct Slist {int data;struct Slist* next; }; typedef struct Slist Slist; //初始化 void SlistI…

死锁和活锁和线程饥饿

死锁 死锁是指两个或两个以上的线程在执行过程中&#xff0c;因争夺资源而造成的一种相互等待的现象&#xff0c;若无外力作用&#xff0c;它们都将无法推进下去。 原因&#xff1a;两个或两个以上的线程共同访问两个或多个相同的资源&#xff08;如对象锁&#xff09;&#…

Unity使用TriangleNet参考

TriangleNet下载如下&#xff1a; TriangleNet 效果如下&#xff1a; 代码参考如下&#xff1a; using System.Collections.Generic; using UnityEngine; using TriangleNet.Geometry;public class TestTriangleNet : MonoBehaviour {[SerializeField]Material material;voi…

耳夹式耳机哪个品牌音质好?五大优质音质的耳夹式耳机!

随着健康理念的传播&#xff0c;运动健身成为大众追求高品质生活的重要部分。传统耳机在运动场景下有局限性&#xff0c;稳定性差、清洁不便&#xff0c;影响运动体验。这时&#xff0c;耳夹式耳机出现&#xff0c;以独特设计和传音方式重塑运动音乐享受&#xff0c;无需入耳&a…

游戏推荐业务中基于 sentinel 的动态限流实践

作者&#xff1a;来自 vivo 互联网服务器团队- Gao Meng 本文介绍了一种基于 sentinel 进行二次开发的动态限流解决方案&#xff0c;包括什么是动态限流、为什么需要引入动态限流、以及动态限流的实现原理。 一、背景 1.1 当前的限流方案 随着互联网的发展及业务的增长&…

Flythings学习(四)串口通信

文章目录 1 串口编程基本步骤1.1 打开串口1.2 配置串口 1.3 读串口1.4 发送串口1.5 关闭串口 2 综合使用3 如何在软件上保证串口稳定通信4 flythings中的串口通讯5 协议接收部分使用和修改方法6 通讯协议数据怎么和UI控件对接 1 串口编程基本步骤 串口通信有5个步骤 1.打开串口…

Telegram——Bot 机器人/小程序入门指南

一、Bot 介绍 在 TG 中,机器人可以用于接收和发送消息、管理群组(在有权限的情况下可以封禁用户、删除消息、置顶消息等)、通过API进行编程操作、使用 Inline 查询功能在不同的聊天室中提供查询服务、创建自定义键盘按钮、发出账单并收款、接入小程序游戏等。 然而,Bot 默…

单片机中断概念以及示例

中断允许控制寄存器 CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。 EX0(IE.0)&#xff0c;外部中断0允许位&#xff1b;EX01&#xff0c;打开外部中断0中断&#xff1b;EX00关闭外部中断0中断。 ET0(IE.1)&#xff0c;定时/计数器T0中断允许…

沪尚茗居装修秘籍:嵌入式蒸烤箱,让厨房生活更精彩

在装修厨房时&#xff0c;选择一款合适的嵌入式蒸烤箱不仅能提升烹饪效率&#xff0c;还能为厨房增添一份现代感。沪尚茗居深知用户对厨房电器的需求&#xff0c;从实际出发&#xff0c;为用户推荐选购嵌入式蒸烤箱的实用技巧&#xff0c;让厨房生活更加美好。    首先&…

Real-World Image Variation by Aligning Diffusion Inversion Chain

https://proceedings.neurips.cc/paper_files/paper/2023/file/61960fdfda4d4e95fa1c1f6e64bfe8bc-Paper-Conference.pdfhttps://rival-diff.github.io/ 问题引入 针对的是image varation generation这个任务&#xff0c;tuning free的&#xff1b; methods C C C表示condit…

【closerAI ComfyUI】电商模特一键换装解决方案来了!细节到位无瑕疵!再加上flux模型加持,这个工作流不服不行!

不得了了兄弟们。这应该是电商界的福音&#xff0c;电商模特一键换装解决方案来了&#xff01;细节到位无瑕疵&#xff01;再加上flux模型加持&#xff0c;这个工作流不服不行&#xff01; 这期我们主要讨论如何使用stable diffusion comfyUI 制作完美无瑕疵的换装工作流。** …