莱布尼兹是一个软件包,它提供了基于Pythorch的可学习微分方程的表达工具

leibniz的Python项目详细描述


莱布尼茨

Build Status

Leibniz是一个pythorn包,它提供了用PyTorch表达可学习的微分方程的工具

我们还提供了UNet,ResUNet及其变体,特别是ResUNet的双曲线块。在

安装

pip install leibniz

如何使用

物理通知

作为一个例子,我们解决了一个非常简单的平流问题,一个由恒定的定常风输送的箱形物质。在

moving box

^{pr2}$

UNet、ResUNet和变量

fromleibniz.unet.baseimportUNetfromleibniz.unet.hyperbolicimportHyperBottleneckfromleibniz.nn.activationimportCappingReluunet=UNet(6,1,normalizor='batch',spatial=(32,64),layers=5,ratio=1,vblks=[4,4,4,4,4],hblks=[1,1,1,1,1],scales=[-1,-1,-1,-1,-1],factors=[1,1,1,1,1],block=HyperBottleneck,relu=CappingRelu(),final_normalized=False)

我们提供了ResUNet实现,这是一个UNet变体,可以在层之间插入ResNet块。 支持的ResNet块包括

  • 纯ResNet:基本的,瓶颈块
  • SENet变体:基本的,瓶颈块
  • 双曲线变化:基本,瓶颈块

我们支持1d,2d,3d UNet。在

标准化器包括:

  • 批次:BatchNorm
  • 图层:图层格式
  • 实例:InstanceNorm

其他超参数包括:

  • 空间:空间维度的大小
  • 比率:决定进入UNet的初始通道数的比率
  • vblks:两层之间插入多少个垂直块
  • hblks:在跳跃连接中插入了多少个水平块
  • 尺度:基于空间维度的比例因子(基于幂2)
  • 因子:通道上的展开或收缩因子(基于幂2)
  • 最终归一化:是否缩放到0到1之间的最终结果

分段线性规范化器

分段线性规范化器提供了一个可学习的单调线性函数及其逆函数。 API如下所示

fromleibniz.nn.normalizorimportPWLNormalizor# on 3 channels, given 128 segmented pieces, and assuming the input data have a zero mean and 1.0 stdpwln=PWLNormalizor(3,128,mean=0.0,std=1.0)normed=pwln(input)output=pwln.inverse(normed)

如何释放

python3 setup.py sdist bdist_wheel
python3 -m twine upload dist/*

git tag va.b.c master
git push origin va.b.c

贡献者

承认

我们包含的源代码与Ricky Chen的torchdiffeq相比有一些小的改动, 因为两个目的:

  1. 包torchdiffeq没有被pypi索引
  2. torchdiffeq包非常方便,而且是强制性的

我们所有的贡献都是基于Ricky的神经颂歌论文(NIPS 2018)和他的包。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java错误:无法解析方法   如何用相同的父标记和子标记在Java中解析XML?   日期使用Java中的时区偏移将本地时间转换为UTC   java如何在多进程、多线程环境中读取文件   WebView中的java弹出式对话框不在当前显示范围内,但在chrome浏览器中运行良好   只有2个参数的java递归二进制搜索方法   无法在java中调用函数   java JavaMail在Tomcat服务器上运行时停止工作   反射通过java程序生成、编译和运行java类   java Android:如何使ListView即使在应用程序关闭后仍保持禁用状态   在JAVA中识别匿名类实例   java渲染一个由三角形组成的立方体,在旋转时会产生奇怪的角度   函数式编程如何基于比较连续的列表元素将Java流减少为布尔值   java如何替换列表中的多个项目?   java Android如何获取随机sqlite数据?   java我已经将useSSL设置为false,但仍然收到警告   java使用动态变量生成jlabel   apachespark:java。lang.NoClassDefFoundError v2TableWithV1回退