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

相关文章

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

pytorch自动求梯度autograd的实现

《pytorch自动求梯度autograd的实现》autograd是一个自动微分引擎,它可以自动计算张量的梯度,本文主要介绍了pytorch自动求梯度autograd的实现,具有一定的参考价值,感兴趣... autograd是pytorch构建神经网络的核心。在 PyTorch 中,结合以下代码例子,当你

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安

在PyCharm中安装PyTorch、torchvision和OpenCV详解

《在PyCharm中安装PyTorch、torchvision和OpenCV详解》:本文主要介绍在PyCharm中安装PyTorch、torchvision和OpenCV方式,具有很好的参考价值,... 目录PyCharm安装PyTorch、torchvision和OpenCV安装python安装PyTor