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 层:
接下来,可以使用 torchlayers.build 方法来构建定义好的网络结构,该方法接受指定的输入形状作为参数。这与在 Keras 中将模型编译为 PyTorch 基本体的过程相似。此外,torchlayers 还提供了一些附加功能,如权重初始化,可以通过 post_build 方法实现。
总的来说,torchlayers 为使用 PyTorch 构建类似于 Keras 的模型提供了便利的功能,弥补了之前的不足之处。随着时间的推移,这个项目的发展前景值得期待。
相关推荐: