图像分类(KerasCV)
图像分类是预测输入图像的分类标签的过程。虽然分类是一项相对简单的计算机视觉任务,但仍然由几个复杂的组件组成。幸运的是,KerasCV
提供了API
来构建常用组件。本例中主要演示了 KerasCV
的模块化方法来解决三个复杂的图像分类问题:
- 使用预训练分类器进行推理。
- 微调预训练的骨干网络。
- 从头开始训练图像分类器。
图像分类是预测输入图像的分类标签的过程。虽然分类是一项相对简单的计算机视觉任务,但仍然由几个复杂的组件组成。幸运的是,KerasCV
提供了API
来构建常用组件。本例中主要演示了 KerasCV
的模块化方法来解决三个复杂的图像分类问题:
大语言模型非常流行。而这个大语言模型的核心是预测句子中的下一个单词或标记,这通常被称为COCO-LM
预训练。大语言模型构建起来很复杂,而且从头开始训练的成本很高,幸运的是有经过预先训练的LLM
可供使用。KerasNLP
提供了大量预训练检查点,从而可以实验SOTA
模型,而无需自行训练。例如,你可以通过from_preset
方法调用GPT2CausalLM
加载GPT-2
模型,除了GPT-2
模型之外,还有许多其它预训练模型,例如OPT、ALBERT、RoBeRTa
等。
在深入了解KerasCV
和KerasNLP
之前,先向你介绍Keras
的一个新功能:Keras Core
。允许你在任意框架(TensorFlow、JAX
和PyTorch
)之上运行Keras
代码。Keras
组件,例如层、模型或指标,作为低级TensorFlow、JAX
和PyTorch
工作流程的一部分。
使用KerasCV
的稳定扩散图像生成。Stable Diffusion
是一个强大的文本 ->
图像模型,有Stability AI
开源。虽然存在多种开源实现,可以轻松地根据文本提示创建图像,但KerasCV
提供了一些优势:其中包括XLA
编译和混合精度支持,他们共同实现最优的生成,使用KerasCV
调用Stable Diffusion
非常简单。我们传入一个字符串,通常称为提示,批量大小为3
。模型能够生成三张令人惊艳的图片,正如提示所描述:
KerasNLP
是一个自然语言处理库,可为用户的整个开发周期提供支持。我们的工作流程由模块化组件构建,这些组件在开箱即用时具有最先进的预设权重和架构,并且在需要更多控制时可轻松定制。该库是核心Keras API
的扩展;所有高级模块都是层或模型。KerasNLP
使用Keras 3
与TensorFlow、Pytorch
和Jax
配合一起使用。在下面例子中,我们将使用jax
后端来训练我们的模型并使用tf.data
来有效地运行我们的输入预处理。
Transformer
。如果你正在构建大规模推荐系统,那么最大的挑战必定是模型当中的大型嵌入表,这些嵌入表是关键组件。但对他们的嵌入查询操作通常执行起来非常昂贵,这使他们成为性能的瓶颈。因此,接下来我们将讨论:”如何使用TPU embeddings
来应对这一挑战?“。
对象检测是在给定的图像中识别、分类和定位对象的过程。通常,你的输入是图像,标签是带有可选类标签的边界框。对象检测可以被认为是分类的扩展,但是您必须检测和定位任意数量的类,而不是图像的一个类标签。
TensorFlow Ranking
是一个开源库,用于开发可扩展的神经学习排名 (LTR
) 模型。 排名模型通常用于搜索和推荐系统,但也已成功应用于各种领域,包括机器翻译、对话系统、SAT
求解器、智能城市规划,甚至计算生物学。排名模型采用项目列表(网页、文档、产品、电影等)并以优化的顺序生成列表,例如最相关的项目位于顶部,最不相关的项目位于底部,通常应用于用户搜索:
在本例中,利用数据科学技能帮助识别Breakthrough Listen
目标扫描中的异常信号。由于没有已确认的外星信号,训练机器学习算法,因此在如大海捞针般的望远镜数据中加入了一些模拟信号(称之为“针”)。目前已经识别出一些隐藏的针,以便您可以训练模型找到更多隐藏的”针“。数据由二维数组组成,因此计算机视觉、数字信号处理、异常检测等方法可能很有优势。
您将获得每日历史销售数据。任务是预测测试集每个商店销售的产品总量。请注意,商店和产品列表每个月都会略有变化。创建一个可以处理此类情况的强大模型是挑战的一部分。