问题标签 [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.
pytorch - PyTorchLightning 返回 CUDA 错误:打印以某种方式解决了这个问题。为什么?
我正在使用 PyTorch Lightning 编写一个简单的训练器,但是当我尝试运行训练器时,由于某种原因,10 次中有 9 次返回“CUDA 错误:设备端断言”。简单地在它之前打印一个换行符似乎使它工作。有任何想法吗?
我的代码:
但不知何故,这很神奇:
关于如何通过简单地打印到输出来解决此错误的任何想法?
编辑:仅在使用 PyTorch Lightning 进行抽象训练时才会出现此错误,使用普通的 PyTorch 使其工作正常。
amazon-web-services - 由于使用了 wandb,PyTorch Lightning 想要在导入时创建一个文件夹,这会在 AWS Lambda 上引发错误
所以我想用 PyTorch Lightning 构建一个可与 AWS lambda 一起使用的 Docker 映像。但是,当调用该函数时,它会引发一个操作系统错误,声称它使用只读文件系统并且 wandb.py 想要写一些东西。
我尝试了这些事情:
- 覆盖 pytroch 闪电的 wandb.py 文件,它不会初始化 wandb --> 引发错误
- 在 Dockerfile 中执行 python 脚本,文件在 docker build 上创建并存在,当调用 lambda 函数时 --> 相同的操作系统错误
有人知道跳过wandb.py的方法吗?
这是错误消息:
pytorch-lightning - 如何使用 TFT 模型正确修复 pytorch 预测中的随机种子?
Pytorch-forecasting 是一个用于时间序列预测的库。我想知道如何修复种子以获得我的实验的可重复性。现在我在训练开始之前使用这个功能。
但是,它不起作用。这是由 dropout 引起的,因为当我设置 dropout = 0 时它已经起作用了。
那么,我该如何解决这个问题呢?
谢谢,
python - 什么时候在 pytorch 闪电中使用`on_fit_start` 和`setup`?
Pytorch 闪电模型有两个不同的钩子:
从文档:
setup
- 在适合和测试开始时调用。on_fit_start
- 在合身开始时调用。如果在 DDP 上,它会在每个进程上调用。
我无法理解这些差异,以及何时使用其中任何一个。
我还注意到一些类变量仍然没有定义setup
在self.datamodule
.
setup
vs的预期用例是on_fit_start
什么?
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 类的代码(对不起,我不能再简洁了):
以下是我的参数:
python - 如何在树莓派 pi3 中安装模块 pytorch_lightning.metrics
我正在尝试执行一个 python 文件,其中包含带有闪电和 torchvision 模块的 pytorch。但是在我在 pi3 中下载并成功安装了 pytorch 的 whl 文件后,我一次又一次地遇到同样的错误。错误是
由于我被困了超过 3 天,我们将不胜感激。我已经使用 pip 安装了模块。
pytorch-lightning - Pytorch 嵌入对于 GPU 来说太大但适合 CPU
我正在使用 PyTorch 闪电,所以闪电控制 GPU/CPU 分配,作为回报,我可以轻松获得多 GPU 支持来进行训练。
我想创建一个不适合 GPU 内存的嵌入。
然后当我为一批选择子集时,将其发送到 GPU
我如何在 Pytorch Lightning 中做到这一点?
python - 训练期间的 Huggingface 错误:AttributeError: 'str' object has no attribute 'size'
在尝试GPT2LMHeadModel
使用 Pytorch Lightning 为休闲语言建模(给定一系列单词,预测下一个单词)微调 Huggingface 模型时,我在训练期间遇到错误:
AttributeError:“str”对象没有属性“size”
我们的训练代码出了什么问题?这是由于DataCollatorForLanguageModeling
在 Pytorch 中的错误使用造成的DataLoader
吗?
可重现的例子:
错误回溯:
康达包:
python-3.x - 使用 Pytorch Lightning DDP 时记录事物的正确方法
我想知道使用 DDP 时记录指标的正确方法是什么。我注意到如果我想在里面打印一些东西validation_epoch_end
,在使用 2 个 GPU 时会打印两次。我希望validation_epoch_end
只在 0 级上被调用并接收来自所有 GPU 的输出,但我不确定这是否正确。因此我有几个问题:
validation_epoch_end(self, outputs)
- 当使用 DDP 时,每个子进程是否接收从当前 GPU 处理的数据或从所有 GPU 处理的数据,即输入参数是否outputs
包含来自所有 GPU 的整个验证集的输出?- 如果是 GPU/进程特定的,那么在使用 DDP 时
outputs
计算整个验证集上的任何指标的正确方法是什么?validation_epoch_end
我知道我self.global_rank == 0
只能在这种情况下通过检查和打印/记录来解决打印问题,但是我试图更深入地了解在这种情况下我正在打印/记录的内容。
这是我的用例中的代码片段。我希望能够报告整个验证数据集的 f1、精度和召回率,我想知道使用 DDP 时正确的做法是什么。
pytorch - 功能线性层的大小不匹配
很抱歉,这可能是一个之前已经回答过的简单问题,但我找不到答案。我正在尝试使用 CNN 来提取特征,然后将其输入到输出 2 个变量的 FC 网络中。我正在尝试使用功能线性层作为动态处理扁平化特征的一种方式。是self.cnn
一个顺序容器,最后一层是nn.Flatten()
. 当我在 CNN 之后打印 x 的大小时,我看到它是 15x152064,所以我不清楚为什么该F.linear
层无法运行并出现以下错误。任何帮助,将不胜感激。
RuntimeError: 大小不匹配,得到 15, 15x152064,2