【问题标题】:PyTorch TensorBoard add_graph() dictionary input errorPyTorch TensorBoard add_graph() 字典输入错误
【发布时间】:2022-01-14 17:39:27
【问题描述】:

将 PyTorch 字典数据集 传递到 TensorBoard add_graph(model, data) 的正确方法是什么。

May 看起来类似于Question1Qeustion2Question3,但是找不到正确的处理字典数据集的方法。

错误信息

跟踪函数的字典输入必须具有一致的类型。找到张量和列表[str]
发生错误,未保存图表

以下是我的项目匿名脚本。

train.py

from torch.utils.tensorboard import SummaryWriter
from models import CustomModel
from datasets import CustomDataset
writer = SummaryWriter()

# Dataset
dataset = CustomDataset(params ...)
train_dataset = [dataset[i] for i in range(0, k)]
train_dataloader = DataLoader(train_dataset, batch_size=32, shuffle=True)

# Model & TensorBoard
model = CustomModel(params....)
writer.add_graph(model, next(iter(train_dataloader)))  # ---- HERE ----

datasets.py

class CustomDataset(Dataset):
    def __init__(self, ...):
        ...
        self.x_sequences = pad_sequence(x_sequences, batch_first=True, padding_value=0)
        self.y_label = torch.LongTensor(label_list)
        ...

    def __len__(self):
        return len(self.y_label)
        
    def __getitem__(self, index):
        ...
        return {
            "x_categoricals": self.x_categoricals[index],
            "x_sequences": self.x_sequences[index],
            "y_label": self.y_label[index],
            "info": self.info[index],
        }

【问题讨论】:

    标签: pytorch tensorboard


    【解决方案1】:

    错误消息告诉您字典的条目必须都是相同的类型,但在您的情况下,您似乎在一个条目中有一个 Tensor 而在另一个条目中有一个 list 字符串。您必须确保所有条目都具有相同的类型。

    【讨论】:

      猜你喜欢
      • 2020-05-18
      • 2020-07-12
      • 2021-01-10
      • 2020-08-11
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 2021-02-12
      相关资源
      最近更新 更多