gpt4 book ai didi

pytorch - 从生成器创建 torch 张量

转载 作者:行者123 更新时间:2023-12-04 15:29:11 28 4
gpt4 key购买 nike

我尝试从生成器构建一个张量,如下所示:

>>> torch.tensor(i**2 for i in range(10))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
RuntimeError: Could not infer dtype of generator

目前我只做:
>>> torch.tensor([i**2 for i in range(10)])
tensor([ 0, 1, 4, 9, 16, 25, 36, 49, 64, 81])

有没有办法避免需要这个中间列表?

最佳答案

正如@blue-phoenox 已经指出的那样,最好使用内置的 PyTorch 函数直接创建张量。但是如果您必须处理生成器,建议使用 numpy 作为中间阶段。由于 PyTorch 避免复制 numpy 数组,所以它应该是相当性能的(与简单的列表推导相比)

>>> import torch
>>> import numpy as np
>>> torch.from_numpy(np.fromiter((i**2 for i in range(10)), int))
tensor([ 0, 1, 4, 9, 16, 25, 36, 49, 64, 81])

关于pytorch - 从生成器创建 torch 张量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55307368/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com