PyTorch Lightning教程四:超参数的使用

这篇具有很好参考价值的文章主要介绍了PyTorch Lightning教程四:超参数的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如果需要和命令行接口进行交互,可以使用Python中的argparse包,快捷方便,对于Lightning而言,可以利用它,在命令行窗口中,直接配置超参数等操作,但也可以使用LightningCLI的方法,更加轻便简单。

ArgumentParser

ArgumentParser是Python的内置特性,进而构建CLI程序,我们可以使用它在命令行中设置超参数和其他训练设置。

from argparse import ArgumentParser

parser = ArgumentParser()
# 训练方式(GPU or CPU or 其他)
parser.add_argument("--devices", type=int, default=2)
# 超参数
parser.add_argument("--layer_1_dim", type=int, default=128)
# 解析用户输入和默认值 (returns argparse.Namespace)
args = parser.parse_args()

# 在程序中使用解析后的参数
trainer = Trainer(devices=args.devices)
model = MyModel(layer_1_dim=args.layer_1_dim)

然后在命令行中如此调用

python trainer.py --layer_1_dim 64 --devices 1

Python的参数解析器在简单的用例中工作得很好,但在大型项目中维护它可能会变得很麻烦。例如,每次在模型中添加、更改或删除参数时,都必须添加、编辑或删除相应的add_argument。Lightning CLI提供了与Trainer和LightningModule的无缝集成,为您自动生成CLI参数。

LightningCLI
pip install "jsonargparse[signatures]"

执行起来很简单,例如

# main.py
from lightning.pytorch.cli import LightningCLI
from lightning.pytorch.demos.boring_classes import DemoModel, BoringDataModule

def cli_main():
    # 只需要写这一行即可,两个参数,对应模型和数据
    cli = LightningCLI(DemoModel, BoringDataModule)	
    # 注意: 别写.fit

if __name__ == "__main__":
    cli_main()  # 在函数中实现CLI并在主if块中调用它是一种很好的做法

然后在命令行中执行help,进行文档查询

python main.py --help

执行结果

usage: main.py [-h] [-c CONFIG] [--print_config[=flags]]
               {fit,validate,test,predict,tune} ...

pytorch-lightning trainer command line tool

optional arguments:
  -h, --help            Show this help message and exit.
  -c CONFIG, --config CONFIG
                        Path to a configuration file in json or yaml format.
  --print_config[=flags]
                        Print the configuration after applying all other
                        arguments and exit. The optional flags customizes the
                        output and are one or more keywords separated by
                        comma. The supported flags are: comments,
                        skip_default, skip_null.

subcommands:
  For more details of each subcommand, add it as an argument followed by
  --help.

  {fit,validate,test,predict,tune}
    fit                 Runs the full optimization routine.
    validate            Perform one evaluation epoch over the validation set.
    test                Perform one evaluation epoch over the test set.
    predict             Run inference on your data.
    tune                Runs routines to tune hyperparameters before training.

因此可以使用如下方法:

$ python main.py fit		# 训练
$ python main.py validate	# 验证
$ python main.py test		# 测试
$ python main.py predict	# 预测

例如训练过程,可以通过以下方法具体调参数文章来源地址https://www.toymoban.com/news/detail-614035.html

# learning_rate
python main.py fit --model.learning_rate 0.1

# output dimensions
python main.py fit --model.out_dim 10 --model.learning_rate 0.1

# trainer 和 data arguments
python main.py fit --model.out_dim 2 --model.learning_rate 0.1 --data.data_dir '~/' --trainer.logger False

到了这里,关于PyTorch Lightning教程四:超参数的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PyTorch Lightning快速学习教程一:快速训练一个基础模型

    粉丝量突破1200了!找到了喜欢的岗位,毕业上班刚好也有20天,为了督促自己终身学习的态度,继续开始坚持写写博客,沉淀并总结知识! 介绍:PyTorch Lightning是针对科研人员、机器学习开发者专门设计的,能够快速复用代码的一个工具,避免了因为每次都编写相似的代码而

    2024年02月16日
    浏览(55)
  • pytorch lightning和pytorch版本对应

    参见官方文档: https://lightning.ai/docs/pytorch/latest/versioning.html#compatibility-matrix 下图左一列( lightning.pytorch )安装命令: pip install lightning --use-feature=2020-resolver 下图左二列( pytorch_lightning )安装命令: pip install pytorch_lightning --use-feature=2020-resolver 加 --use-feature=2020-resolver 解决依赖

    2024年02月12日
    浏览(53)
  • pytorch lightning 入门

    翻译自官方文档 前置知识 :推荐pytorch 目标 :通过PL中7个关键步骤了解PL工作流程 PL是基于pytorch的高层API,自带丰富的工具为AI学者和工程师快速创建高性能模型,去除繁琐的重复流程同时保持灵活性。 使用组织好的pytorch代码,PL可以: 避免重复流程。比如gpu设置,device设

    2023年04月08日
    浏览(67)
  • Pytorch Lightning 训练更新次数

    假设一共1000个samples,batch size=4,因此一个epoch会有250 iterations,也就是会更新250次 当设置Trainer时 这个 max_steps 指的是最多更新的次数,这里也就是40次,而 accumulate_grad_batches 指的是每次更新前积累多少个batch,这里为2 因此,每次更新前实际上积累了2 * 4 = 8个samples的gradient

    2024年02月15日
    浏览(45)
  • Pytorch-lightning简介

    pytorch-lighting(简称pl),它其实就是一个轻量级的PyTorch库,用于高性能人工智能研究的轻量级PyTorch包装器。缩放你的模型,而不是样板。 研究代码(位于LightningModule中)。 工程代码(由Trainer处理)。 非必要的研究代码(日志记录等…这在Callbacks中进行) 暂时先上传这些内容

    2024年02月10日
    浏览(38)
  • 版本匹配指南:PyTorch版本、Python版本和pytorch_lightning版本的对应关系

    版本匹配指南:PyTorch版本、Python版本和pytorch_lightning版本的对应关系 🌈 欢迎莅临 我的个人主页👈这里是我 静心耕耘 深度学习领域、 真诚分享 知识与智慧的小天地!🎇 🎓 博主简介: 我是 高斯小哥 ,一名来自985高校的普通本硕生,曾有幸在中科院顶刊发表过 一作论文

    2024年04月17日
    浏览(65)
  • 人工智能之配置环境教程二:在Anaconda中创建虚拟环境安装GPU版本的Pytorch及torchvision并在VsCode中使用虚拟环境

    孟莉苹,女,西安工程大学电子信息学院,2021级硕士研究生,张宏伟人工智能课题组。 研究方向:机器视觉与人工智能。 电子邮件:2425613875@qq.com 本教程提供需要安装的CUDA11.3、Pytorch1.10.0、torchvision0.11.0的安装包,在下述百度网盘链接中自取! 链接:https://pan.baidu.com/s/18m

    2024年02月02日
    浏览(70)
  • 变分自编码器(VAE)PyTorch Lightning 实现

    ✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 变分自编码器 (Variational Autoencoder,VAE)是一

    2024年02月21日
    浏览(51)
  • (5)深度学习学习笔记-多层感知机-pytorch lightning版

    pytorch lighting是导师推荐给我学习的一个轻量级的PyTorch库,代码干净简洁,使用pl更容易理解ML代码,对于初学者的我还是相对友好的。 pytorch lightning官网网址 https://lightning.ai/docs/pytorch/stable/levels/core_skills.html 代码如下: 代码如下:(可以直接把download改为true下载) 更多pl的方

    2024年02月12日
    浏览(44)
  • 关于安装 PyTorch-Lightning 的一些问题(GPU版)

    官网地址: PyTorch PyTorch-Lightning 1、不能直接使用 pip install pytorch-lightning  ,否则如下图会直接卸载掉你的torch而安装cpu版本的torch。 2、在安装pytorch-lightning时一定注意自己的torch是pip安装还是conda安装,两者要保持一致,否则也会导致你的torch版本被替换。 正确安装方式: p

    2024年02月02日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包