项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-09-16 · 当前星标 ★ 996
技术标签
使用教程
环境要求
- Python 环境与可用的 pip(README 未限定版本,建议使用较新的 Python 3)
- Keras 3:安装 keras-hub 时会一并安装,也可按 Keras 官方入门页单独安装
- 任选一个后端:JAX、TensorFlow 或 PyTorch,用于实际计算
- 示例代码还需 tensorflow_datasets(用于加载 IMDB 等数据集)
- 首次加载预训练权重需要联网,权重托管在 Kaggle Models
安装与启动步骤
-
1安装 KerasHub
用 pip 安装最新正式版,会自动拉入 Keras 3 与 TensorFlow(仅用于 tf.data 预处理)。
pip install --upgrade keras-hub -
2选择计算后端
必须在 import keras 之前设置 KERAS_BACKEND,可选 jax、tensorflow 或 torch,之后不能再改。
import os os.environ["KERAS_BACKEND"] = "jax" # 也可以写 "tensorflow" 或 "torch" -
3导入相关库
导入 keras、keras_hub 以及示例所需的 numpy 和 tensorflow_datasets。
import keras import keras_hub import numpy as np import tensorflow_datasets as tfds -
4图像分类推理
从预置权重加载 ResNet50,下载一张示例图片并预测 ImageNet 类别。
classifier = keras_hub.models.ImageClassifier.from_preset( "resnet_50_imagenet", activation="softmax", ) url = "https://upload.wikimedia.org/wikipedia/commons/a/aa/California_quail.jpg" path = keras.utils.get_file(origin=url) image = keras.utils.load_img(path) preds = classifier.predict(np.array([image])) print(keras_hub.utils.decode_imagenet_predictions(preds)) -
5文本分类微调
加载 BERT 预置权重,在 IMDB 影评数据上微调后对两句话做情感预测。
classifier = keras_hub.models.TextClassifier.from_preset( "bert_base_en_uncased", activation="softmax", num_classes=2, ) imdb_train, imdb_test = tfds.load( "imdb_reviews", split=["train", "test"], as_supervised=True, batch_size=16, ) classifier.fit(imdb_train, validation_data=imdb_test) preds = classifier.predict(["What an amazing movie!", "A total waste of time."]) print(preds) -
6可选:安装每日构建版
如需最新开发中的改动,可改装 nightly 包,它会同时更新 Keras 与 KerasHub。
pip install --upgrade keras-hub-nightly
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
KERAS_BACKEND | 是 | 指定 Keras 3 使用的计算后端,必须在导入 keras 前设置 | jax |
preset | 是 | from_preset 的预置权重名称,决定加载哪个模型与检查点 | resnet_50_imagenet |
activation | 否 | 输出层激活函数,分类任务常用 softmax | softmax |
num_classes | 否 | 分类类别数,文本分类示例中 IMDB 为 2 | 2 |
如何确认成功
运行图像分类示例,能打印出 decode_imagenet_predictions 的类别名称即表示安装与权重加载成功。
常见问题
Q:安装后 import keras_hub 报错找不到模块?
A:确认安装与运行在同一个 Python 环境,执行 pip install --upgrade keras-hub 重新安装,并确保使用的是 Keras 3。
Q:想体验最新未发布改动怎么办?
A:改装 nightly 包:pip install --upgrade keras-hub-nightly,它会同时升级 Keras 与 KerasHub。
Q:为什么只装了 keras-hub 却多了 TensorFlow?
A:README 说明当前安装 KerasHub 会始终拉入 TensorFlow,仅用于 tf.data 预处理;训练仍可在任意后端上进行。
Q:可以在 GPU/TPU 上微调吗?
A:可以。所有模型共用一套定义,支持 JAX、TensorFlow、PyTorch,开箱即可在 GPU 和 TPU 上微调。
注意事项
- 后端必须在导入 keras 之前通过环境变量确定,导入后再设置不生效。
- 预训练权重来自 Kaggle Models,首次加载会下载文件,需保证网络可用并预留磁盘空间。
- 示例中的 tensorflow_datasets 需另行安装(包名 tensorflow-datasets),仅用于数据集加载。
- 项目仍处于早期阶段,API 可能随版本变化,建议关注官方 Getting Started 与 API 文档。
核心亮点
- 统一 Keras 3 多后端 API,同一份代码可在 TensorFlow、JAX、PyTorch 间切换
- 覆盖 CV、NLP、LLM 等主流预训练权重,开箱即用
- 与 Keras 3 训练/编译流程深度集成,微调迁移学习门槛低
不足之处
- 项目处于早期,模型数量和覆盖范围仍在完善中
- 社区生态和第三方教程相对较少,遇到问题可参考资料有限
适用场景
- 快速加载预训练模型做图像分类或文本分类原型验证
- 在 JAX 或 PyTorch 后端下微调大语言模型并保持 Keras 代码风格
- 教学或科研中统一管理多种预训练模型,减少环境配置成本
替代项目
Hugging Face Transformers、timm
上一篇:Index-1.9B
下一篇:LLaVA-pp
同类项目推荐
Awesome-Reasoning-Foundation-Mod···
开源
一站式追踪推理模型最新论文与基准
✨✨Latest Papers and Benchmarks in Reasoning with Foundation Models
Open-dLLM
开源
用扩散模型并行生成代码,比自回归更快更稳
Open diffusion language model for code generation — releasing pretraining, evaluati···
BeyondCLIP
开源
多模态检索实战手册,助你选型不踩坑
Not a neutral survey — a field manual for engineers who build, train, and ship mult···
MeanFlowNFT
开源
用强化学习让图像生成少步快跑,质量不打折
[arXiv 2026] This is the official PyTorch implementation of "MeanFlowNFT: Bringing F···
AnyGPT
开源
让一个模型搞定文本、图像、语音、音乐的任意互转
A unified multimodal language model based on discrete sequence modeling
Freeze-Omni
开源
冻结LLM,低成本打造低延迟语音对话模型
✨✨Freeze-Omni: A Smart and Low Latency Speech-to-speech Dialogue Model with Frozen···
unilm
开源
一个模型搞定理解和生成,预训练即插即用
Large-scale Self-supervised Pre-training Across Tasks, Languages, and Modalities
awesome-ltx2
开源
找齐 LTX-2 模型、工作流和 LoRA,一键上手视频生成。
All available LTX-2 models, encoders, workflows, LoRAs for ComfyUI
IvyGPT
开源
让AI看病像医生一样,边问边推理,给出透明诊断路径
[CICAI 2023] The official codes for "Ivygpt: Interactive chinese pathway language mo···
