问题标签 [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 投票
2 回答
2955 浏览

python - TensorBoard 中的 hp_metric 是什么以及如何摆脱它?

我是张量板的新手。

我正在使用相当简单的代码运行实验,这是输出:

在此处输入图像描述

我不记得要求hp_metric图表,但它在这里。

它是什么,我该如何摆脱它?


使用 Pytorch Lightning 重现的完整代码(不是我认为任何人都应该重现这个来回答):

请注意,唯一取消引用 TensorBoard 的行是

集群数据集.py

配置值(ConfigProvider 只是将它们作为对象返回)

0 投票
2 回答
79 浏览

tensorflow - 张量板中的不透明度图是什么?

我是张量板的新手。

这是我通过这一行得到的输出:

self.logger.experiment.add_scalars("losses", {"train_loss": loss}, global_step=self.current_epoch)

在此处输入图像描述

我只能触摸深蓝色的线,这可能是我记录的损失,但不能触摸浅蓝色的线。

  • 什么是浅蓝色线?
  • 为什么深蓝线不是严格连续的?
0 投票
1 回答
326 浏览

python - 如何在 Tensorboard Pytorch 中绘制散点图?

假设我想要在 TensorBoard 中绘制一个通用散点图,该散点图绘制batch[:, 0], batch[:, 1]每个时代的第一个。

如何在 TensorBoard 中做到这一点?

一个类似的老问题(2017 年 1 月)有一个解决方法,但我希望我们现在(2020 年 12 月)拥有真正解决方案的技术。

我的尝试还不够:

给了我奇妙的错误

assert(scalar.squeeze().ndim == 0), '标量应该是 0D'

0 投票
0 回答
516 浏览

python - 如何在 pytorch-lightning 中正确使用 Tensorboard 的 TSNE?

我在 MNIST 上运行以下代码

即,我从每个验证时期返回

然后使用

并期望它能够工作,就像在doc中一样。

似乎只显示了一个批次,在验证过程中我得到的日志如下

验证:92%|█████████▏| 49/53 [00:01<00:00, 41.05it/s] 警告:嵌入目录存在,您是否为 add_embedding() 设置了 global_step?

recon_batch如何获得适用于所有时代的 TSNE ?


完整代码供参考:

0 投票
2 回答
568 浏览

pytorch - Pytorch 时代闪电节约模型

我想在每次验证循环结束时保存一个检查点。我将其设置val_check_interval0.2在每个时期都有 5 个验证循环,但检查点回调仅在时期结束时保存模型。在每个验证循环之后,我找不到一种简单(或困难)的方法来保存模型。这似乎有点奇怪,因为除了保存检查点之外,我看不到进行验证循环的理由。

最简单的方法是什么?

谢谢,

吉拉德

0 投票
2 回答
3021 浏览

python - 如何在 pytorch-lightning 中使用 TensorBoard 记录器转储混淆矩阵?

官方文档只说明

这没有显示如何在框架中使用度量。

我的尝试(方法不完整,只显示相关部分):

在第 0 个 epoch 之后,这给出了

它确实在训练前通过了健全性验证检查。

失败发生在返回时validation_step_end。对我来说意义不大。

使用 mertics 的完全相同的方法可以准确地工作。

如何获得正确的混淆矩阵?

0 投票
0 回答
140 浏览

python - 如何为分散在磁盘和每个文件中的数据正确定义 Pytorch 数据集和数据加载器?

  1. 我的数据分散在多个文件中,例如f1, f2f3其路径为p1, p2, p3
  2. 每个文件都有 1000 个样本,可以pandasto_pd(path).
  3. 由于我已经有一个现有的文件获取系统,因此必须按顺序加载文件。
  4. 每个文件中的数据可以随机抽样。

我已经看到了从单个文件中加载
读取文件列表的解决方案,
但不是同时做这两个。


我想不出一种只定义自定义 pytorch 数据集的方法,因为我事先没有所有路径,但它们是在运行时出现的,只有在我完成最后一个路径后才加载一个。

我可以为每个文件创建一个数据集,但随后我必须创建一个知道如何处理这些多个数据集的数据加载器。


在 Pytorch 中这样做的正确方法是什么?

如果有帮助,我也在使用 Pytorch 闪电。

0 投票
1 回答
340 浏览

python - Pytorch 闪电数据模块覆盖警告:方法“.setup()”的签名与“LightningDataModule”类中基方法的签名不匹配

以下是一个正常工作的 Pytorch Lightning DataModule。

Pycharm 不setup喜欢

方法“PressureDataModule.setup()”的签名与类“LightningDataModule”中的基本方法的签名不匹配

  1. 如果没有匹配,为什么 Pycharm 会哭?
  2. 是因为参数不同吗?正确的参数数量是多少?

解决此问题的正确方法是什么?

0 投票
0 回答
353 浏览

python - 用于时间序列预测的变压器

我有离散的日常功能和目标时间序列,我正在尝试为 seq2seq 建模实现一个基本的 Transformer。我按如下方式构建我的监督数据:

下一个序列向前移动一个位置。总的来说,我有输入数据形状[batch_size, in_sequence_len, num_features],目标是[batch_size, out_sequence_len, 1]. 我知道编码器输入应该是形状[batch_size, in_seq_len, num_features]和解码器需要[batch_size, out_seq_len, num_features]。但是我应该如何转换我的批次以适合变压器输入?

0 投票
1 回答
481 浏览

pytorch - 在 PyTorch Lightning 中实现预处理的位置(例如标记输入文本)

是否有约定在 PyTorch Lightning 中实现某种predict()方法,在使用 执行实际预测之前进行预处理forward()

在我的例子中,我有一个由嵌入层和几个全连接层组成的文本分类器。文本在传递到嵌入层之前需要进行标记。在训练和评估期间,LightningDataModule'setup()方法可以完成工作。

现在,我想知道在生产过程中进行推理的最佳实践是什么。我可以在其中添加一个predict()方法,LightningModule我可以在其中编写与LightningDataModule.setup(). 但是,当然,我不想复制代码。

在官方 PyTorch Lightning 文档中链接的这个社区示例prepare_sample()项目中,作者定义了一个由他们的函数LightningModule使用的predict()函数,并且也传递给LightningDataModule.

这是处理预处理的正确方法吗?另外,为什么没有prepare_sample()predict()LightningModule?对我来说,这似乎是一个常见的用例,例如:

现在我考虑了一下,predict()也应该forward()以与评估代码相同的方式处理结果,例如选择具有最高输出的类或选择输出大于某个阈值的所有类 - 一些不应重复的代码。