【问题标题】:Pytorch tensor representing a 3D grid with color valuesPytorch 张量表示具有颜色值的 3D 网格
【发布时间】:2021-03-14 23:14:54
【问题描述】:

给定表示 3D 网格上 X、Y、Z 坐标密度的密度值(标量)列表,我将如何创建可以存储此信息的单个张量?

即例如,尺寸为 1x20x20x20 的张量将表示 20x20x20 网格,这样:

print(tensor[:,x1,y1,z1])
0.6

print(tensor[:,x2,y2,z2])
0.4

【问题讨论】:

  • 所以你想把1x20*20*20张量转换成1x20x20x20张量?
  • 我想要一个 1x20x20x20 的张量,其中第一维值是我的自定义值而不是随机值。
  • 如果我有一个 20x20x20 网格的 XYZ 坐标,以及每个坐标的对应值,我将如何用我的值创建一个形状为 1x20x20x20 的张量
  • 但是您的输入数据是如何布局的,是具有每个 XYZ 点的所有值的 1D 张量还是 3D 张量,在这种情况下,您为什么要将其变成 4D 张量?
  • 目前它是一个 1D 张量,每个索引对应 20x20x20 网格中的一个 3D 点,这意味着张量的长度为 8,000。它只是保存表示每个 xyz 坐标密度的标量。我想将其转换为形状为 1x20x20x20 的张量。

标签: python pytorch tensor torch


【解决方案1】:

根据您的 cmets,您希望将 (2000) 1D-tensor 转换为 (1x20x20x20) 4D-tensor。

假设您的初始张量布局如下:

X = torch.tensor([111,112,113,121,122,123,131,132,133,211,212,213,221,222,223,231,232,233,311,312,313,321,322,323,331,332,333])

这就像在上面使用视图一样简单:

xyz = X.view(3, 3, 3, 1)

而且,X[0, 1, 2] 将按预期为您提供 [123]

【讨论】:

    猜你喜欢
    • 2020-05-26
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-22
    • 2019-06-24
    • 2020-10-14
    相关资源
    最近更新 更多