Gen.jl

用 Julia 写模型和推断算法的概率编程框架

开源 🏷️完全免费 ⏳ 访问状态待核验 开发框架 🍴 复刻 164 🐛 待处理 168 👀 关注 71
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 1855
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,官网提供文档与下载入口

项目预览

Gen.jl 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开发框架
开发团队probcomp
官网地址https://gen.dev
定价模式🏷️完全免费
价格说明开源免费,官网提供文档与下载入口
访问状态⏳ 访问状态待核验
是否开源是
开源协议Apache-2.0
主要语言Julia
技术栈/模型bayesian,computer-vision,deep-learning,differentiable-programming,gen,julia-language,machine-learning,probabilistic-programming,robotics
GitHub 星标★ 1855
上线时间2018-08-21 00:00:00
代码更新2026-10-31
仓库体积38.3 MB
本站数据更新2026-11-08
维护状态较活跃
收录时间2026-11-07
浏览次数0

项目介绍

Gen.jl 是 Julia 语言编写的通用概率编程系统,核心特色是「可编程推断」:用户既能用普通 Julia 代码描述生成式概率模型,也能用同一套语言自定义推断算法,而非只能调用内置采样器。它提供组合式建模原语,支持在模型任意位置插入自定义推断逻辑,内置重要性采样、MCMC、粒子滤波、变分推断等推断库,并支持可微分编程,可与梯度优化结合。项目面向贝叶斯建模、计算机视觉、机器学习研究与教学,强调灵活性与可扩展性,适合需要非标准推断流程的研究者。作为 Julia 生态项目,它借助 Julia 的多重派发与高性能数值计算能力,在保持表达力的同时兼顾运行效率。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-11-07 · 当前星标 ★ 1855

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 6 步

环境要求

  • 已安装 Julia(Gen 是 Julia 包,通过 Julia 包管理器安装)
  • 能正常执行 Julia REPL 或 julia 脚本
  • 安装开发版时需要能访问 GitHub 仓库

安装与启动步骤

  1. 1打开 Julia REPL

    在终端执行 julia 进入交互环境;未安装 Julia 时先按官网说明安装,本步骤只做环境准备。

    julia
  2. 2进入 Pkg 模式

    在 Julia REPL 中按 ] 键进入包管理模式,提示符会变成 (v1.x) pkg>。

    ]
  3. 3安装稳定版 Gen

    在 Pkg 模式执行 add Gen,自动下载并安装 Gen 及其依赖,等待完成即可。

    add Gen
  4. 4安装开发版(可选)

    若需要最新开发版,在 Pkg 模式改为从 GitHub 仓库地址安装,二选一即可。

    add https://github.com/probcomp/Gen.jl.git
  5. 5在代码中加载

    按退格键回到 Julia 提示符,执行 using Gen 即可在 REPL 或脚本顶部使用该包。

    using Gen
  6. 6运行测试验证

    调用 Pkg.test 运行 Gen 自带测试套件,全部通过说明安装与依赖链正常。

    using Pkg; Pkg.test("Gen")

如何确认成功

在 Julia 中执行 using Gen 不报错,或 Pkg.test("Gen") 测试全部通过。

常见问题

Q:add Gen 提示找不到命令怎么办?

A:add 是 Julia 包管理器命令,必须先按 ] 进入 pkg> 模式再执行,普通 shell 或 julia> 提示符下无法使用。

Q:稳定版和开发版能同时装吗?

A:不需要,两者都是同一个 Gen 包,后安装的会替换前者;日常使用建议装稳定版。

Q:如何确认装的是哪个版本?

A:在 pkg> 模式执行 status Gen 可查看已安装版本与来源地址。

Q:测试运行很慢是正常的吗?

A:Pkg.test 会先构建独立测试环境并预编译依赖,首次运行耗时较长属正常现象。

注意事项

  • Gen 是库而非独立服务,安装后没有常驻进程,按需在脚本中 using Gen 使用。
  • README 提到模型与推断用法详见 gen.dev 官方文档与教程。
  • 升级 Julia 大版本后建议重新执行 add Gen 并重跑测试。

核心亮点

  • 推断算法可编程,用户能在模型任意位置插入自定义推断逻辑,突破固定采样器限制
  • 建模与推断共用 Julia 语言,无需学习独立 DSL,可复用 Julia 生态与多重派发
  • 内置重要性采样、MCMC、粒子滤波、变分推断等推断库,并支持可微分编程

不足之处

  • Julia 生态相对 Python 较小,用户基数与第三方库集成少于 PyMC、Stan 等
  • 文档与示例偏学术,初学者上手门槛高于声明式概率编程工具
  • 社区规模有限,遇到冷门问题可获得的现成解答较少

适用场景

  • 贝叶斯建模研究中实现非标准推断算法
  • 计算机视觉与机器学习中的生成式模型实验
  • 高校概率编程与贝叶斯推断课程教学

替代项目

Turing.jl、PyMC、Stan

上一篇:instructor-go

下一篇:没有了!

同类项目推荐

Core-AI-Framework-Lab 开源

在 Apple 芯片上跑通生成式 AI 推理的实战手册

A practical lab for exploring Apple's Core AI framework, model assets, specializatio···

★ 66 2026-08-09
youtu-agent 开源

用开源模型快速搭建你的 AI 智能体,简单不简陋。

A simple yet powerful agent framework that delivers with open-source models

★ 4634 2026-08-09
awesome-adk-agents 开源

照着现成例子,快速搭出 Google ADK 智能体

Curated collection of AI agents built with Google’s Agent Development Kit (ADK): te···

★ 352 2026-10-16
browsercode 开源

在浏览器里直接跑 AI Agent,不用后端

The browser-native agent framework

★ 788 2026-09-13
java-genai 开源

Java 后端直接调用 Gemini,官方 SDK 免手写封装

Google Gen AI Java SDK provides an interface for developers to integrate Google's ge···

★ 399 2026-10-19
reflex 开源

纯 Python 写 Web 应用,不写一行前端代码

️ Web apps in pure Python

★ 28998 2026-08-10
genai-cookbook 开源

照着做,快速搭出大模型应用原型

A mixture of Gen AI cookbook recipes for Gen AI applications.

★ 241 2026-08-09
claudekit 开源

让 Claude Code 生成的代码先过验证关,再进生产环境

A verification-first engineering toolkit for Claude Code. Built for senior ICs and t···

★ 97 2026-08-09
sd-api 开源

用 TypeScript 优雅调用 Stable Diffusion WebUI,快速集成图像生成能力

A Typescript API client for AUTOMATIC111/stable-diffusion-webui

★ 98 2026-08-09