Server - PyTorch Lighting Warning 的 seed_everything、gpus、max_epochs、checkpoint 等解决方案

本文主要是介绍Server - PyTorch Lighting Warning 的 seed_everything、gpus、max_epochs、checkpoint 等解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/132673146

Img
PyTorch Lightning 是一个用于简化 PyTorch 代码的高级框架,可以帮助你快速构建、训练和部署深度学习模型。核心思想是将模型的逻辑和工程分离,只需要关注模型的核心部分,而不用担心数据加载、分布式训练、优化器等细节。PyTorch Lightning 还提供了一系列的工具和插件,让你可以轻松地使用各种加速器、日志系统、可视化工具等,目标是让你用最少的代码实现最高的性能,同时保持 PyTorch 的灵活性和可扩展性。

1. seed_everything

Warning 如下:

LightningDeprecationWarning: pytorch_lightning.utilities.seed.seed_everything has been deprecated in v1.8.0 and will be removed in v1.10.0. Please use lightning_lite.utilities.seed.seed_everything instead.
pytorch_lightning.utilities.seed.seed_everything has been deprecated in v1.8.0 and will be”

原因是 pytorch_lightning 升级至 v1.8.0 版本,seed_everything 函数文件更换位置,修改方案如下:

# from pytorch_lightning.utilities.seed import seed_everything
from lightning_lite.utilities.seed import seed_everythingif args.seed:  # 使用 PyTorch Lighting 设置随机种子seed_everything(args.seed)

参考:PyTorch Lightning - pytorch_lightning.utilities.seed

2. Trainer(gpus=1)

Warning 如下:

LightningDeprecationWarning: Setting Trainer(gpus=1) is deprecated in v1.7 and will be removed in v2.0. Please use Trainer(accelerator='gpu', devices=1) instead.

原因 gpus 参数需要更丰富的设置方式,替换成 accelerator + devices 参数,即:

trainer = pl.Trainer.from_argparse_args(args,# ...gpus=None,accelerator='gpu',devices=args.gpus
)

参考:CSDN - Pytorch-Lightning中的训练器–Trainer

3. max_epochs

Warning 如下:

PossibleUserWarning: max_epochs was not set. Setting it to 1000 epochs. To train without an epoch limit, set max_epochs=-1.

原因是建议设置 max_epochs 参数,默认是 -1,即:

trainer = pl.Trainer.from_argparse_args(args,# ...max_epochs=-1,
)

4. Checkpoint

Warning:

UserWarning: Checkpoint directory mydata/output_dir/checkpoints exists and is not empty.
rank_zero_warn(f"Checkpoint directory {dirpath} exists and is not empty.")

原因是 Checkpoint 文件夹已经存在,建设根据时间戳设置 output_dir,即:

timestamp=$(date +%s)
--output_dir "mydata/output_dir_${timestamp}/"

参考:shell脚本获取当前时间戳

5. cpu_offload

Warning:

Config parameter cpu_offload is deprecated use offload_optimizer instead

将 DeepSpeed 的 CPU 负载参数,由 cpu_offload 设置成 offload_optimizer,修改 deepspeed_config.json,即

"zero_optimization": {# ..."offload_optimizer": {"device": "cpu","pin_memory": true,"buffer_count": 4,"fast_init": false},
},

参考:

  • GitHub - What is the non-deprecated alternative for “cpu_offload”
  • DeepSpeed - optimizer-offloading

这篇关于Server - PyTorch Lighting Warning 的 seed_everything、gpus、max_epochs、checkpoint 等解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/223187

相关文章

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

MYSQL事务死锁问题排查及解决方案

《MYSQL事务死锁问题排查及解决方案》:本文主要介绍Java服务报错日志的情况,并通过一系列排查和优化措施,最终发现并解决了服务假死的问题,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录问题现象推测 1 - 客户端无错误重试配置推测 2 - 客户端超时时间过短推测 3 - mysql 版本问

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://