每日Github探索:LeRobot、StoryDiffusion、高效KAN 实现,共9款开发者利器

1. huggingface/lerobot

图片[1]-每日Github探索:LeRobot、StoryDiffusion、高效KAN 实现,共9款开发者利器-诚哥博客

🌟截止发稿星数: 2389
🇨🇳仓库语言: Python
🤝仓库开源协议:Apache License 2.0
🔗仓库地址:https://github.com/huggingface/lerobot

LeRobot:打造中文对话式人工智能

LeRoBot是由Hugging Face打造的中文聊天机器人,拥有丰富的中文语料基础,能够自然流畅地理解和生成对话。其框架简化了对话式人工智能模型的定制化、部署和维护,支持构建、微调和部署各种对话式人工智能应用程序

LeRobot:机器学习与机器人的融合

LeRobot专注于机器人学习,提供基于Pytorch的机器学习模型、数据集和工具,降低机器人技术入门门槛,促进数据集和预训练模型的共享。它专注于模仿学习和强化学习,包含可应用于真实世界的先进方法

LeRobot项目结构

LeRobot项目结构清晰明了,包括策略、工具函数命令行执行功能、执行结果保存和单元测试。通过命令行执行脚本,用户可以可视化数据集、评估策略和训练自己的策略。

贡献与优化

欢迎贡献者参与LeRobot的开发,贡献指南和示例提供了详细的指导。此外,代码示例展示了如何对策略评估进行性能分析,优化代码性能。

引用

引用LeRobot时,请使用以下格式:

@misc{cadene2024lerobot,
    作者 = {Cadene, Remi 等人},
    标题 = {LeRobot:基于 Pytorch 的真实世界机器人的最新机器学习技术},
    网址 = {https://github.com/huggingface/lerobot},
    年份 = {2024}
}

2. HVision-NKU/StoryDiffusion

图片[2]-每日Github探索:LeRobot、StoryDiffusion、高效KAN 实现,共9款开发者利器-诚哥博客

🌟截止发稿星数: 3634
🇨🇳仓库语言: Jupyter Notebook
🤝仓库开源协议:Apache License 2.0
🔗仓库地址:https://github.com/HVision-NKU/StoryDiffusion

StoryDiffusion:用于长序列图像和视频生成的一致自注意力机制

StoryDiffusion是一个用于生成连贯图像和视频的AI工具。它由两部分组成:

  • **一致自注意力机制:**用于生成人物一致的长序列图像。该机制与SD1.5和SDXL图像扩散模型兼容。用户需要提供至少3个文本提示,以获得更好的布局安排。
  • **运动预测器:**用于生成长序列视频,预测条件图像之间压缩图像语义空间中的运动,实现更大的运动预测。

特点:

  • **连贯的图像和视频生成:**StoryDiffusion可以根据文本提示创建一致的图像和视频故事。
  • **长序列生成:**该机制能够生成长序列的图像和视频,克服了传统AI模型的范围限制。

使用方法:

  • 使用Jupyter笔记本:打开Comic_Generation.ipynb并运行代码。
  • 启动本地Gradio演示:运行python gradio_app_sdxl_specific_id.py。

引用:

Zhou, Yupeng; Zhou, Daquan; Cheng, Ming-Ming; Feng, Jiashi; Hou, Qibin (2024): StoryDiffusion: Consistent Self-Attention for Long-Range Image and Video Generation. arXiv preprint arXiv:2405.01434

3. ejoy/ant

🌟截止发稿星数: 3456
🇨🇳仓库语言: Lua
🤝仓库开源协议:MIT License
🔗仓库地址:https://github.com/ejoy/ant

Ant 游戏引擎

Ant 是灵犀互娱开发的开源游戏引擎。它提供了一系列强大的功能,包括跨平台支持、脚本扩展、可视化编辑器和调试工具。

核心特性:

  • **跨平台:**支持 Windows、macOS 和 Linux。
  • **脚本扩展:**使用 Lua 语言进行脚本编写,实现快速开发和迭代。
  • **可视化编辑器:**提供直观的图形化界面,简化场景和游戏资源的创建。
  • **调试工具:**集成调试器,帮助快速定位和修复错误。

构建和运行:

  • 使用 luamake 构建工具构建引擎运行时和工具。
  • 使用 bin/ant.exe 运行游戏或示例。

关于目录结构:

  • **bin:**编译结果。
  • **engine:**引擎基础代码。
  • **pkg:**引擎功能包。
  • **runtime:**不同平台的运行时支持。
  • **test:**测试工程。
  • **tools:**引擎相关工具。

Ant 游戏引擎目前仍在开发中,文档和示例仍在完善中。如有问题,可访问 GitHub 仓库或参与讨论。

4. hbb1/2d-gaussian-splatting

图片[3]-每日Github探索:LeRobot、StoryDiffusion、高效KAN 实现,共9款开发者利器-诚哥博客

🌟截止发稿星数: 884
🇨🇳仓库语言: Python
🤝仓库开源协议:Other
🔗仓库地址:https://github.com/hbb1/2d-gaussian-splatting

2D高斯溅射用于几何精确的辐射场

项目为“2D 高斯溅射用于几何精确的辐射场”论文提供了官方实现。我们的工作使用一组 2D 定向圆盘(曲面元素)表示场景,并使用透视校正可微分光栅化光栅化曲面。我们的工作还开发了可提高重建质量的正则化方法。我们还为高斯溅射设计了网格化方法。

主要特点:

  • 利用 NVIDIA RTX 显卡实现快速高效的光栅化
  • 提出深度畸变和法线一致性正则化以提高几何精度
  • 提出基于体积网格的表面提取算法,以获得高质量网格

应用:

  • 新颖视角合成
  • 几何重建
  • 三维场景理解

安装和使用方法:

有关安装、训练和测试的详细说明,请参阅项目主页:https://surfsplatting.github.io/

引用:

如果您在您的项目中使用了我们的代码或论文,请考虑引用以下内容:

@inproceedings{Huang2DGS2024,
    title={2D Gaussian Splatting for Geometrically Accurate Radiance Fields},
    author={Huang, Binbin and Yu, Zehao and Chen, Anpei and Geiger, Andreas and Gao, Shenghua},
    publisher = {Association for Computing Machinery},
    booktitle = {SIGGRAPH 2024 Conference Papers},
    year      = {2024},
    doi       = {10.1145/3641519.3657428}
}

5. wandb/openui

图片[4]-每日Github探索:LeRobot、StoryDiffusion、高效KAN 实现,共9款开发者利器-诚哥博客

🌟截止发稿星数: 11516
🇨🇳仓库语言: TypeScript
🤝仓库开源协议:Apache License 2.0
🔗仓库地址:https://github.com/wandb/openui

OpenUI: 直观构建 UI

OpenUI 是一款创新工具,可让您使用想象力描述 UI,并实时查看渲染效果。您可以要求更改,并将 HTML 转换为 React、Svelte、Web 组件等。它类似于 v0,但它是开源的,且可塑性更强。

主要特性:

  • 实时编辑和预览
  • 灵活的模型支持
  • 代码生成(如 React 和 Svelte)

本地运行:

  1. 安装 Ollama(用于模型支持)
  2. 克隆并安装 OpenUI 的仓库
  3. 设置 OPENAI_API_KEY
  4. 运行 python -m openui

容器运行:

  1. 运行 docker-compose up -d
  2. 拉取模型,例如 docker exec -it openui-ollama-1 ollama pull llava

开发:

  • 使用 Docker 容器或 devcontainer
  • 使用 Codespace 快速启动,并使用 Ollama 进行建模

OpenUI 为 UI 开发人员提供了一种有趣且高效的方式,让他们可以快速构建和迭代 UI 设计。通过其灵活性和模型集成,它为探索和创新提供了广泛的可能性。

6. langgenius/dify

图片[5]-每日Github探索:LeRobot、StoryDiffusion、高效KAN 实现,共9款开发者利器-诚哥博客

🌟截止发稿星数: 28138
🇨🇳仓库语言: TypeScript
🤝仓库开源协议:Other
🔗仓库地址:https://github.com/langgenius/dify

LangGenius/Diffy

Diffy 是一个 Python 框架,用于图像到图像转换,如风格化、超分辨率和图像着色。它易用、性能高,提供丰富的转换选项。

Dify

Dify 库提供了全面的 NLP 任务支持,包括文本分类、摘要和问答。它使用方便,且有文档和示例支持。

Dify

Dify 平台整合了 AI 工作流、RAG 管道和 LLM 应用开发功能,帮助用户快速将原型过渡到生产。关键功能包括自定义代理、提示 IDE 和 LLMOps。

TypeScript

TypeScript 是 JavaScript 的超集,提供类型检查和强类型编程语言特性。

Dify Cloud

Dify Cloud 提供自助托管、文档和企业查询。

功能对比

特征 Dify.AI LangChain Flowise OpenAI API
编程方式 API + 应用 Python 代码 应用 API
支持的 LLM 多样化 多样化 多样化 仅限 OpenAI
RAG 引擎 支持 支持 支持 支持
代理 支持 支持

安装和使用

在云端或自托管环境中安装和使用 Diffy。获得文档、代码示例和社区支持。

许可证

本仓库在 Dify 开源许可证下开放,该许可证实质上是 Apache 2.0,但附加了一些限制。

7. assafelovic/gpt-researcher

图片[6]-每日Github探索:LeRobot、StoryDiffusion、高效KAN 实现,共9款开发者利器-诚哥博客

🌟截止发稿星数: 9695
🇨🇳仓库语言: Python
🤝仓库开源协议:MIT License
🔗仓库地址:https://github.com/assafelovic/gpt-researcher

综述

GPT 研究员是一个自主代理,旨在针对各种任务进行全面的在线研究。该代理可以生成详细、真实且公正的研究报告,并提供自定义选项,以关注相关资源、提纲和课程。受到最近的 Plan-and-SolveRAG 论文的启发,GPT 研究员解决了速度、确定性和可靠性问题,通过并行代理工作提供更稳定的性能和更高的速度,而不是同步操作。

我们的使命

我们的使命是通过利用人工智能的力量,为个人和组织提供准确、公正和真实的信息。

为什么选择 GPT 研究员?

  • 为手动研究任务形成客观结论可能需要时间,有时需要数周时间才能找到合适的资源和信息。
  • 当前的 LLM 根据过去和过时的信息进行训练,具有严重的幻觉风险,使其几乎与研究任务无关。
  • 启用网络搜索的服务(例如 ChatGPT + Web Plugin)仅考虑有限的来源和内容,在某些情况下会导致肤浅且有偏见的答案。
  • 仅使用一系列网络来源可能会在确定研究任务的正确结论时产生偏差。

特性

  • 生成研究、提纲、资源和课程报告
  • 可以生成冗长且详细的研究报告(超过 2000 字)
  • 汇总每个研究超过 20 个网络来源,形成客观且真实性结论
  • 包含易于使用的网络界面(HTML/CSS/JS)
  • 使用 javascript 支持爬取网络来源
  • 跟踪并记录已访问和已使用的网络来源
  • 将研究报告导出为 PDF、Word 等格式

入门

安装

**步骤 0:**安装 Python 3.11 或更高版本。

**步骤 1:**下载项目并导航到其目录。

git clone https://github.com/assafelovic/gpt-researcher.git
cd gpt-researcher

**步骤 2:**使用两种方法设置 API 密钥:直接导出或将它们存储在 .env 文件中。

对于 Linux/Windows 临时设置,使用导出方法:

export OPENAI_API_KEY={Your OpenAI API Key here}
export TAVILY_API_KEY={Your Tavily API Key here}

对于更永久的设置,在当前 gpt-researcher 目录中创建一个 .env 文件,并按以下方式输入密钥:

OPENAI_API_KEY={Your OpenAI API Key here}
TAVILY_API_KEY={Your Tavily API Key here}

8. gabime/spdlog

🌟截止发稿星数: 22425
🇨🇳仓库语言: C++
🤝仓库开源协议:Other
🔗仓库地址:https://github.com/gabime/spdlog

gabime/spdlog:高效轻量的 C++ 日志库

spdlog 是一个快速、轻量级的 C++ 日志库,具有以下特点:

  • 支持多种日志目标,包括文件、控制台和轮转文件
  • 灵活的格式化选项,使用 fmt 库
  • 多/单线程记录器
  • 异步模式(可选)
  • 自定义格式化和日志级别过滤

主要功能:

  • 精简中文总结:

    • 多/单线程记录器
    • 多种日志目标(文件、控制台、syslog 等)
    • 日志过滤
    • 回溯支持
    • 秒表和计时器
    • 记录二进制数据为十六进制
  • 用户自定义类型:

    • 支持用户定义类型与 spdlog 集成
  • 用户自定义日志格式标记:

    • 日志格式可以包含自定义标记,绑定到自定义格式化程序
  • 错误处理:

  • Syslog:

    • 设置 syslog 记录器,将日志输出发送到系统日志
  • Android 日志记录:

    • 设置 Android 记录器,将日志输出发送到 Android 设备日志缓冲区
  • 配置日志级别:

    • 从环境变量或命令行参数加载日志级别
  • 日志框架 spdlog:

    • 日志级别环境变量加载
    • 日志文件开/关事件处理
    • 日志事件处理程序
    • 替换默认日志记录器
  • 使用 Qt 记录并着色:

    • 使用 Qt 小部件进行日志记录和着色
  • Log 至 Qt 和 MDC:

    • 使用映射诊断上下文 (MDC) 添加诊断信息
    • MDC 支持线程局部存储
  • 异步模式:

    • 异步模式不支持 MDC
  • 性能测试结果:

    • 同步模式:160 万次/秒
    • 异步模式:587,000 次/秒

9. Blealtan/efficient-kan

🌟截止发稿星数: 1867
🇨🇳仓库语言: Python
🔗仓库地址:https://github.com/Blealtan/efficient-kan

高效的 Kolmogorov-Arnold 网络 (KAN) 实现

本仓库提供了一个 Kolmogorov-Arnold 网络 (KAN) 的高效实现。KAN 的原始实现见 此处

原始实现的性能问题主要是由于它需要展开所有中间变量以执行不同的激活函数。对于一个具有 in_features 输入和 out_features 输出的层,原始实现需要将输入展开为形状为 (batch_size, out_features, in_features) 的张量以执行激活函数。然而,所有激活函数都是由一组固定的基函数(B 样条)的线性组合,因此,我们可以将计算重新表述为用不同的基函数激活输入,然后线性组合它们。这种重新表述可以显着降低内存成本,并使计算成为一个直接的矩阵乘法,并且自然地适用于前向和后向传递。

问题在于稀疏化,据称这对于 KAN 的可解释性至关重要。作者提出了一种在输入样本上定义的 L1 正则化,它需要对 (batch_size, out_features, in_features) 张量执行非线性操作,因此与重新表述不兼容。我用权重上的 L1 正则化取代了 L1 正则化,这在神经网络中更常见并且与重新表述兼容。作者的实现实际上也包含这种正则化,连同论文中描述的正则化一起,所以我认为它可能会有所帮助。需要更多的实验来验证这一点;但至少如果需要效率,原始方法是不可行的。

另一个区别是,除了可学习的激活函数(B 样条)之外,原始实现还在每个激活函数上包含一个可学习的尺度。我提供了一个选项 enable_standalone_scale_spline,默认值为 True,以包含此功能;禁用它将使模型更加高效,但可能会损害结果。它需要更多的实验。

2024 年 5 月 4 日更新:@xiaol 暗示 base_weight 参数的常量初始化在 MNIST 上可能是一个问题。目前,我已经将 base_weightspline_scaler 矩阵都初始化为使用 Kaiming 均匀分布,遵循 nn.Linear 的初始化。它似乎在 MNIST 上工作得更好(~20% 到 ~97%),但我不确定它是否是一个好主意。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容