大数据分析运用torchlayers构建PyTorch模型
作者头像
  • 金娇
  • 2020-08-19 14:06:42 5

torchlayers 的目标是为 PyTorch 提供一种更高层次的模型构建 API,类似于 Keras 对 TensorFlow 所做的贡献。它提供了一些便捷的默认设置和附加组件,以便用户能更轻松地创建 PyTorch 神经网络。

据在线调查结果显示,PyTorch 继续受到广泛关注,尤其在科研领域,其采用率也在不断上升。然而,PyTorch 过去由于缺乏简化的高级 API(类似于 TensorFlow 的 Keras)而受到批评。不过,这种情况正在改善。

torchlayers 的主要目标是为 PyTorch 提供一个类似的解决方案。该项目的开发者对其进行了简要描述:

torchlayers 是一个基于 PyTorch 的库,它实现了自动的 torch.nn 层的形状和尺寸推断,并且包含了当前最先进的架构(如 Efficient-Net)中的一些附加构建模块。

这与 Keras 中的情况类似,用户只需调用一次 torchlayers.build 方法即可完成大部分工作,无需额外干预。

除了自动形状和尺寸推断之外,torchlayers 还包含了一些类似于 Keras 的层(例如,torchlayers.Reshape 可以在保持批次维度不变的情况下重塑输入张量),并提供了一些在 ImageNet 竞赛中常用的最先进层(如 PolyNet)。此外,torchlayers 提供了一些有用的默认值,比如卷积核大小(默认为 3),并支持自动填充(默认为“same”)。

安装 torchlayers 十分简单,可以通过 pip 安装:

pip install --user torchlayers

更多关于安装的信息(如 Docker 映像和 GPU 支持)可以在其他地方找到。完整的 torchlayers 文档也已经准备好。

torchlayers 的 GitHub 页面提供了一些示例来展示其功能。其中,简单的图像和文本分类器给我留下了深刻的印象。例如,以下代码展示了如何混合使用 torch.nn 和 torchlayers 层:

  1. 形状和尺寸推断(包括 Conv 和 Linear 输入及 BatchNorm)
  2. 默认的卷积核大小(默认为 3)
  3. 自动填充(默认为“same”)
  4. 使用 torchlayers 的池化层(类似于 Keras 的 GlobalMaxPool)

接下来,可以使用 torchlayers.build 方法来构建定义好的网络结构,该方法接受指定的输入形状作为参数。这与在 Keras 中将模型编译为 PyTorch 基本体的过程相似。此外,torchlayers 还提供了一些附加功能,如权重初始化,可以通过 post_build 方法实现。

总的来说,torchlayers 为使用 PyTorch 构建类似于 Keras 的模型提供了便利的功能,弥补了之前的不足之处。随着时间的推移,这个项目的发展前景值得期待。

相关推荐:

    本文来源:图灵汇
责任编辑: : 金娇
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
数据分析torchlayers构建模型运用PyTorch
    下一篇