【问题标题】:How do i save a numpy tensor to a file如何将 numpy 张量保存到文件中
【发布时间】:2020-11-07 22:58:10
【问题描述】:

我正在尝试将图像转换为 4 维的 numpy 张量,我想将其保存到文件中,最好是 csv 文件。我已经有了我想要的尺寸的图像数组,但现在问题是保存到文件中。请问我该怎么做呢。

【问题讨论】:

  • csv 是一种 2d 格式 - 在一致的列上整齐的行。
  • 是的,csv 是 2d 格式,但是 n 维张量可以“扁平化”为 2d 格式。
  • 这种方式可以通过添加列来展平

标签: numpy tensor


【解决方案1】:

Numpy 对数组数据的 IO 有很多选择:

  • 如果二进制格式没问题,您可以使用np.save 将 4D 张量保存为二进制(“.npy”)格式。可以使用 np.load 再次读取该文件。这是保存 numpy 数据的一种非常方便的方法,它适用于任意维数的数值数组。

  • np.savetxt 可以以类似 CSV 的文本格式写入一维或二维数组。您可以使用 np.reshape 将张量展平为 1D 或 2D,然后使用 np.savetxt。缺点是该文件不跟踪完整的 4D 形状,因此您需要以某种方式单独跟踪它。

  • 如果以文本表示形式存储很重要,更好的选择可能是使用np.array2string 将张量转换为字符串,然后将字符串写入文件。这甚至适用于超过 2 维的数组。

  • .tofile method 只是将元素数据转储为原始二进制文件。不保留任何形状或其他元数据,但二进制文件很容易读入其他程序。

【讨论】:

  • 非常感谢。第一个选项对我来说是完美的。
猜你喜欢
  • 2021-08-24
  • 2016-07-09
  • 2021-11-18
  • 2016-10-26
  • 2017-07-13
  • 1970-01-01
  • 2021-08-30
  • 2021-07-23
  • 2021-03-14
相关资源
最近更新 更多