5 月 27-28 日,机器之心主办的第一届全球机器智能峰会(GMIS 2017)将在北京 898 创新空间举行。在峰会第一天下午的「机器学习」主题 Session 上,清华大学副教授朱军将分享解读《珠算:贝叶斯深度学习的 GPU 库(ZhuSuan: a GPU Library for Bayesian Deep Learning)》。近日,清华大学机器学习组已经在 GitHub 上发布了「珠算(ZhuSuan)」这一软件库。机器之心在本文中编译介绍了该项目的介绍文档,如果你想现场聆听对该项目的更详细深入的介绍,可访问 GMIS 官网 gmis.jiqizhixin.com 了解参会方式或点击这里直达购票地址。

  • 珠算项目地址:https://github.com/thu-ml/zhusuan

  • 朱军 GMIS 演讲时间:5 月 27 日 14:10-14:30

  • 演讲主题:珠算:贝叶斯深度学习的GPU库

珠算(ZhuSuan)是一个构建于 TensorFlow 之上的用于生成模型(Generative Model)的 Python 库。和现有的主要为有监督学习任务设计的深度学习库不同,珠算的主要特点是其在很大程度上植根于贝叶斯推理(Bayesian Inference),因此,珠算能支持各种生成模型:既包括传统的分层贝叶斯模型(如话题模型、贝叶斯逻辑回归等),也有最近的深度生成模型(如VAE、GAN等等)。

使用珠算,用户可以享有深度学习的强大拟合能力和多 GPU支持的高效训练,同时,还能通过生成模型对复杂环境进行建模,充分利用无标注数据,并通过严谨的贝叶斯推理处理不确定性。

目前支持的主要推理算法

变分推理和随机变分推理(VI & SVI)

支持多种变分后验:

  • 平均场后验(Mean-field posterior):各因子完全独立的后验

  • 结构化的后验(Structured posterior):隐变量间具有用户指定的依赖关系

支持的变分方法:

  • SGVB:随机梯度变分贝叶斯(Stochastic gradient variational Bayes)

  • IWAE:重要程度加权的目标(Importance weighted objectives)

  • NVIL:具有方差减缩的得分函数估计器(Score function estimator with variance reduction)

  • VIMCO:具有方差减缩的多样本得分函数估计器(Multi-sample score function estimator with variance reduction)

自适应重要程度采样

  • 重新加权的唤醒-睡眠(RWS:Reweighted Wake-sleep):带有用户指定的自适应提议分布

马尔可夫链蒙特卡洛(MCMC)

  • 哈密尔顿蒙特卡洛(HMC):自适应调整步长和质量(mass)

安装

珠算仍处在开发阶段。在第一个稳定版(1.0)发布之前,请从github克隆(clone)这个库并在主目录中运行以下代码:

1
pip install .

这会自动安装珠算及其依赖包。

文档

在线文档地址:http://zhusuan.readthedocs.io/

其中包含三个使用教程(Tutorials)和代码的API文档:

  • 变分自编码器的分步实现

  • ZhuSuan中的基本概念

  • 用于多元回归问题的贝叶斯神经网络

示例

如果你想运行我们提供的示例,你需要安装额外的依赖包。可以通过执行以下代码完成:

1
pip install  ".[examples]"
  • 高斯(Gaussian):HMC

  • Toy 2D Intractable Posterior: SGVB

  • 贝叶斯神经网络:SGVB

  • 变分自编码器(VAE):SGVB、IWAE

  • 卷积 VAE:SGVB

  • 半监督 VAE (Kingma, 2014):SGVB、RWS

  • 深度 Sigmoid 信念网络:RWS、VIMCO

  • Logistic Normal 主题模型:HMC

开发

如果要以「可编辑」或「开发」模式安装珠算,在主目录下运行:

1
pip install  - e .

如果要移除安装,运行:

1
pip uninstall zhusuan

附加的开发用依赖包可通过以下代码安装:

1
pip install  ".[dev]"

1.测试

以下命令可在主目录中运行自动测试:

1
python  - m unittest discover  - v

测试范围:在运行测试之后,为了确保测试范围涵盖开发,请运行

1
coverage report  - - include = "zhusuan/*"

PEP8 代码风格检查:我们遵循 PEP8 Python 代码风格。要进行检查,在主目录中运行

1
pep8 .

2.文档

文档在 docs/ 目录下,是 RestructuredText(.rst)文件。主页为 index.rst。关于 RestructuredText 的教程可参阅:https://pythonhosted.org/an_example_pypi_project/sphinx.html

API References 是通过 Sphinx 自动生成的。它们在 doc/api/ 目录下,在每次修改代码之后都应该重新生成:

1
make api

在 docs/ 目录下运行以下代码可将文档编译成网页:

1
make html

生成的网页存储在 docs/_build 目录,可以通过浏览器查看。

本文转自 stock0991 51CTO博客,原文链接:http://blog.51cto.com/qing0991/1931713

清华大学发布珠算:一个用于生成模型的Python库相关推荐

  1. 用于生成随机数的python标准库模块是_17 Python 标准库之 random 模块 - Python 进阶应用教程...

    Python 标准库之 random 模块 随机数是随机产生的数,比如购买彩票,中奖的号码就是随机的.random 库是用于生成随机数的 Python 标准库,random 库提供如下函数: 函数 功 ...

  2. 吐血整理一个月——终于把所有Python库整理齐了.....

    大家好! 最近天天熬夜,头发都掉完了, 就为了把Python所有的库完全整理一遍, 希望对大家有所帮助! 一.数据处理 (https://jq.qq.com/?_wv=1027&k=2Q3YT ...

  3. 推荐一个牛逼的生物信息 Python 库 - Dash Bio

    翻译 | Lemonbit 来源 | Plotly 译文出品 | Python数据之道 推荐一个牛逼的生物信息 Python 库 - Dash Bio Dash Bio 是一个免费的开源 Python ...

  4. 用于数据收集的Python库

    用于数据收集的Python库 你是否曾遇到过这样的情况:缺少解决问题的数据?这是数据科学中一个永恒的问题.这也是为什么学习提取和收集数据对数据科学家来说是一项非常重要的技能.数据提取和收集开辟了前所未 ...

  5. Google用更少标签生成图像,还提出一个用于训练评估GAN的库

    参加 2019 Python开发者日,请扫码咨询 ↑↑↑ 译者 | 刘畅 责编 | 琥珀 出品 | AI科技大本营(ID:rgznai100) 生成对抗网络(GAN)是属于一种强有力的深度生成模型.G ...

  6. 回调函数自定义传参_koroFileHeader:一个用于生成文件头部注释和函数注释的插件...

    小金子 读完需要 2分钟 速读仅需 1 分钟 大家好,我是你们的小金子. 今天给大家分享的这个工具呢?对于使用 VS Code 的同学来讲,是一个好东西. koroFileHeader,一个在 vsc ...

  7. Netflix发布Polly.JS,一个用于HTTP交互的开源库

    Netflix最近发布了Polly.JS,一个用于记录.重放和模拟HTTP交互的开源库. \\ Polly利原生机浏览器API来模拟请求和响应,以便减少配置工作,为开发人员提供一种管理HTTP请求的机 ...

  8. vscode 注释快捷键_koroFileHeader:一个用于生成文件头部注释和函数注释的插件

    大家好,我是你们的小金子. 今天给大家分享的这个工具呢?对于使用 VS Code 的同学来讲,是一个好东西. koroFileHeader,一个在 vscode 中用于生成文件头部注释和函数注释的插件 ...

  9. 用于生成随机数的python标准库模块是_详解Python基础random模块随机数的生成

    详解Python基础random模块随机数的生成 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  详解Python基础random模块随机数的生成.txt ] ( ...

最新文章

  1. php word excel转pdf文件怎么打开,php office文件(word/excel/ppt)转pdf文件,pptpdf
  2. poj 1328 Radar Installation
  3. python学习框架图-Python学习—框架篇之初识Django
  4. 【emWin】例程二十五:窗口对象——Iconview
  5. 机器学习模型,能分清川菜和湘菜吗?
  6. Redis源码剖析(二)io多路复用函数及事件驱动流程
  7. Android语言国际化values资源文件命名规则
  8. centos内核编译与其签名机制
  9. 维护人员工具_软件项目管理:软件工具与开发环境相关知识介绍
  10. 微信公众平台服务框架
  11. 巴特沃斯低通滤波器 matlab,基于MATLAB做巴特沃斯低通滤波器..doc
  12. Windows 2000 检测系统安全进阶详解
  13. 计算机相关英语论文,计算机相关英文论文.doc
  14. [Err] 1146 [Err] 1682
  15. RuoYi-Vue——关于登录后不同角色跳不同页面
  16. 什么是云数据库RDS
  17. 快捷键-vscode-excel
  18. ad Hoc打包测试
  19. 第 1 份工作,我只干了 2 周就被辞退了 | 十年系列
  20. 【AI达人创造营第二期】基于Jetson nano的餐厅自助结账系统部署

热门文章

  1. glup 构建一个完整的jquery项目
  2. 森拓气液增压缸什么时候更换液压油
  3. java安卓模拟器和电脑通信_java-两个Android模拟器之间的通信
  4. 计算机网络第一章——概述
  5. html中怎么适应不同分辨率的显示器(如电脑和手机)
  6. Python之print函数
  7. 【MyBatis】resultMap和resultType的区别
  8. select标签属性resultType
  9. Vue源码学习之initInjections和initProvide
  10. mpvue生成html,mpvue 打包成H5和微信小程序模板demo