问题标签 [pytorch-lightning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
39 浏览

pytorch - PyTorchLightning 返回 CUDA 错误:打印以某种方式解决了这个问题。为什么?

我正在使用 PyTorch Lightning 编写一个简单的训练器,但是当我尝试运行训练器时,由于某种原因,10 次中有 9 次返回“CUDA 错误:设备端断言”。简单地在它之前打印一个换行符似乎使它工作。有任何想法吗?

我的代码:

但不知何故,这很神奇:

关于如何通过简单地打印到输出来解决此错误的任何想法?

编辑:仅在使用 PyTorch Lightning 进行抽象训练时才会出现此错误,使用普通的 PyTorch 使其工作正常。

0 投票
1 回答
94 浏览

amazon-web-services - 由于使用了 wandb,PyTorch Lightning 想要在导入时创建一个文件夹,这会在 AWS Lambda 上引发错误

所以我想用 PyTorch Lightning 构建一个可与 AWS lambda 一起使用的 Docker 映像。但是,当调用该函数时,它会引发一个操作系统错误,声称它使用只读文件系统并且 wandb.py 想要写一些东西。

我尝试了这些事情:

  1. 覆盖 pytroch 闪电的 wandb.py 文件,它不会初始化 wandb --> 引发错误
  2. 在 Dockerfile 中执行 python 脚本,文件在 docker build 上创建并存在,当调用 lambda 函数时 --> 相同的操作系统错误

有人知道跳过wandb.py的方法吗?

这是错误消息:

0 投票
0 回答
201 浏览

pytorch-lightning - 如何使用 TFT 模型正确修复 pytorch 预测中的随机种子?

Pytorch-forecasting 是一个用于时间序列预测的库。我想知道如何修复种子以获得我的实验的可重复性。现在我在训练开始之前使用这个功能。

但是,它不起作用。这是由 dropout 引起的,因为当我设置 dropout = 0 时它已经起作用了。

那么,我该如何解决这个问题呢?

谢谢,

0 投票
0 回答
70 浏览

python - 什么时候在 pytorch 闪电中使用`on_fit_start` 和`setup`?

Pytorch 闪电模型有两个不同的钩子

从文档:

  1. setup- 在适合和测试开始时调用。
  2. on_fit_start- 在合身开始时调用。如果在 DDP 上,它会在每个进程上调用。

我无法理解这些差异,以及何时使用其中任何一个。

我还注意到一些类变量仍然没有定义setupself.datamodule.


setupvs的预期用例是on_fit_start什么?

0 投票
1 回答
1630 浏览

pytorch - 训练步骤未在 pytorch 闪电中执行

我正在努力微调一个 t5 模型来总结亚马逊评论。我在这里关注本教程:https ://towardsdatascience.com/fine-tuning-a-t5-transformer-for-any-summarization-task-82334c64c81

我注意到我的代码中的 training_step 从未被执行,因为训练损失在整个时期都保持为“NaN”。但是,validation_step 计算得很好。

我已经确认数据中没有空字符串,并尝试了多个批量大小。

这是错误

我发现 training_step 函数永远不会通过在 training_step 函数中添加打印语句来执行。

下面是我的 T5FineTuner 类的代码(对不起,我不能再简洁了):

以下是我的参数:

0 投票
1 回答
2302 浏览

python - 如何在树莓派 pi3 中安装模块 pytorch_lightning.metrics

我正在尝试执行一个 python 文件,其中包含带有闪电和 torchvision 模块的 pytorch。但是在我在 pi3 中下载并成功安装了 pytorch 的 whl 文件后,我一次又一次地遇到同样的错误。错误是

由于我被困了超过 3 天,我们将不胜感激。我已经使用 pip 安装了模块。

0 投票
0 回答
128 浏览

pytorch-lightning - Pytorch 嵌入对于 GPU 来说太大但适合 CPU

我正在使用 PyTorch 闪电,所以闪电控制 GPU/CPU 分配,作为回报,我可以轻松获得多 GPU 支持来进行训练。

我想创建一个不适合 GPU 内存的嵌入。

然后当我为一批选择子集时,将其发送到 GPU

我如何在 Pytorch Lightning 中做到这一点?

0 投票
1 回答
1623 浏览

python - 训练期间的 Huggingface 错误:AttributeError: 'str' object has no attribute 'size'

在尝试GPT2LMHeadModel使用 Pytorch Lightning 为休闲语言建模(给定一系列单词,预测下一个单词)微调 Huggingface 模型时,我在训练期间遇到错误:

AttributeError:“str”对象没有属性“size”

我们的训练代码出了什么问题?这是由于DataCollatorForLanguageModeling在 Pytorch 中的错误使用造成的DataLoader吗?

可重现的例子:

错误回溯:

康达包:

0 投票
1 回答
2038 浏览

python-3.x - 使用 Pytorch Lightning DDP 时记录事物的正确方法

我想知道使用 DDP 时记录指标的正确方法是什么。我注意到如果我想在里面打印一些东西validation_epoch_end,在使用 2 个 GPU 时会打印两次。我希望validation_epoch_end只在 0 级上被调用并接收来自所有 GPU 的输出,但我不确定这是否正确。因此我有几个问题:

  1. validation_epoch_end(self, outputs)- 当使用 DDP 时,每个子进程是否接收从当前 GPU 处理的数据或从所有 GPU 处理的数据,即输入参数是否outputs包含来自所有 GPU 的整个验证集的输出?
  2. 如果是 GPU/进程特定的,那么在使用 DDP 时outputs计算整个验证集上的任何指标的正确方法是什么?validation_epoch_end

我知道我self.global_rank == 0只能在这种情况下通过检查和打印/记录来解决打印问题,但是我试图更深入地了解在这种情况下我正在打印/记录的内容。

这是我的用例中的代码片段。我希望能够报告整个验证数据集的 f1、精度和召回率,我想知道使用 DDP 时正确的做法是什么。

0 投票
1 回答
32 浏览

pytorch - 功能线性层的大小不匹配

很抱歉,这可能是一个之前已经回答过的简单问题,但我找不到答案。我正在尝试使用 CNN 来提取特征,然后将其输入到输出 2 个变量的 FC 网络中。我正在尝试使用功能线性层作为动态处理扁平化特征的一种方式。是self.cnn一个顺序容器,最后一层是nn.Flatten(). 当我在 CNN 之后打印 x 的大小时,我看到它是 15x152064,所以我不清楚为什么该F.linear层无法运行并出现以下错误。任何帮助,将不胜感激。

RuntimeError: 大小不匹配,得到 15, 15x152064,2