首页 > 解决方案 > 读取多个 .gz 文件并以一个张量返回

问题描述

我正在尝试读取多个 .gz 文件并在一个张量中返回其内容,如下所示:

with ReadHelper('ark: gunzip -c /home/mnabih/kaldi/egs/timit/s5/exp/mono_ali/*.gz|') as reader:
    for key, b in reader:
        #print(type(b))
        c = torch.from_numpy(b)
        labels = torch.cat(c)

不幸的是,它给了我这个错误:

cat():参数“张量”(位置 1)必须是张量的元组,而不是张量

标签: pythonnumpypytorchtorch

解决方案


正如错误消息所解释的,c是张量。要使用torch.cat(),您必须传递一组张量或一个列表。要解决您的问题,您可以使用:

temp = list()
for key, b in reader:
    temp.append(torch.from_numpy(b))
labels = torch.cat(temp)

有关更多信息,您可以在此处查看手册


推荐阅读