【问题标题】:Store a multi-dim tensor on disk and read from offset在磁盘上存储多维张量并从偏移量读取
【发布时间】:2021-08-23 01:07:07
【问题描述】:

我有一个像这样的多维张量

tensor([[ 0.5599,  0.4593,  0.0580,  ..., -0.2404,  0.1144, -0.5047],
        [ 0.1545,  0.3332,  0.3836,  ...,  0.2483, -0.0849, -0.2216],
        [ 0.4513,  0.0115,  0.0801,  ..., -0.8038,  0.2350, -0.3261],
        ...,
        [-0.4387,  0.3028, -0.0510,  ..., -0.4966, -0.1606,  0.2933],
        [ 0.0312,  0.2351, -0.0397,  ..., -0.5401, -0.0554, -0.1552],
        [-0.3732, -0.0460,  0.0698,  ..., -0.2963, -0.3514, -0.3815]],
       device='cuda:0', requires_grad=True)
Size of entity embeddings:  torch.Size([14951, 400])

将这个张量存储在磁盘上的最佳方法是什么,并且只索引这个多维张量的一行(即说最后一行,[-0.3732, -0.0460, 0.0698, ..., -0.2963, -0.3514, -0.3815] 并在 python 中将它带到内存中?

【问题讨论】:

    标签: python pytorch tensor


    【解决方案1】:

    答案取决于您要最大化/最小化什么。

    您可以将“最佳存储方式”定义为最快的写入、最快的读取、最小的文件……

    但鉴于您的限制,我认为 HDFS 应该是一个不错的选择。

    Pandas 允许您使用 df.to_hdf() 函数保存为 HDFS 格式。

    你也可以看看H5py来处理HDFS文件。

    【讨论】:

      猜你喜欢
      • 2013-09-14
      • 1970-01-01
      • 2021-01-12
      • 1970-01-01
      • 2014-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多