【问题标题】:What causes my segmentation fault in tensorflow?是什么导致我在 tensorflow 中出现分段错误?
【发布时间】:2021-01-24 23:43:44
【问题描述】:

在 Tensorflow 中,我目前正在开发一个创建 4D numpy 矩阵并输出保存的 tensorflow 数据集的程序。我并不真正关心它将占用的内存量,因为它至少适合 80gb 的 ddr4 ram。我的矩阵具有形状 [14540,512,128,4] 并包含 np.float32 值。我想以以下方式存储它:

matrix = np.load(output_path+".npy")
    if seed is None:
        seed = np.random.randint(1e6)

    print("unshuffled")
    if output_path is None:
            return tf.data.Dataset.from_tensor_slices(matrix )
    else:
            tf.data.experimental.save(tf.data.Dataset.from_tensor_slices(matrix),output_path+"_unshuffled",compression="GZIP")

种子用于稍后对数据集进行改组,我存储了两个版本,一个未改组版本和一个改组版本。相反,我得到一个“分段错误错误”。我的内存攀升至~22gb,然后出现故障,任何想法为什么会这样?提前致谢!

【问题讨论】:

    标签: python numpy tensorflow


    【解决方案1】:

    我想已经找到了答案。我回去换了:
    matrix = np.load(output_path+".npy")
    至:
    matrix = np.load(output_path+".npy").astype(np.float64)
    这样我就能够保存 Tensorflow 数据集。显然,当我尝试将矩阵存储为 np.float32 时,Tensorflow.data 不喜欢它...... 这似乎是一个错误,我会在 Github 上发布。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-21
      • 1970-01-01
      • 1970-01-01
      • 2018-06-17
      • 2019-08-31
      • 2020-09-15
      • 2012-04-19
      相关资源
      最近更新 更多