小编Ani*_*B H的帖子

将大数据加载到 TensorFlow 2.0 中,而不将其加载到 RAM 上

我已经处理并保存了一个大型视频和音频文件数据集(大约8到9GB的数据)数据被保存为2个numpy数组,每种模式一个文件的形状是(number_of_examples,maximum_time_length,feature_length)

我想使用这些数据来训练我的神经网络来执行分类任务 我正在使用 TensorFlow 2.0 Beta 版本 我在 Google Colab 上运行所有代码(安装 tf-2.0 beta 后) 每次我在 tf.data 中加载数据时使用虚拟机的整个 RAM,并且会话被迫重新启动。

以前的方法:

我尝试了两种方法

1)将两个变量全部加载到RAM中并将其转换为张量

2)将数据加载为内存映射数组(从磁盘)并将其加载到 tf.data

然而,这两种方法都会加载 RAM 并强制虚拟机重新启动

代码:

# Access the Audio memory from disk without loading
X_audio = np.memmap('gdrive/My Drive/Codes/audio_data.npy', dtype='float32', mode='r').reshape(2198,3860,74)

# Access the Video memory from disk without loading
X_video = np.memmap('gdrive/My Drive/Codes/video_data.npy', dtype='float32', mode='r').reshape(2198,1158,711)

# Load labels
with open('gdrive/My Drive/Codes/label_data_3','rb') as f:
    Y = pkl.load(f)

dataset = tf.data.Dataset.from_tensor_slices((X_audio, X_video, Y)).shuffle(2198).batch(32)
Run Code Online (Sandbox Code Playgroud)

错误:您的会话在使用所有可用 RAM 后崩溃

python numpy tensorflow tensorflow-datasets

8
推荐指数
2
解决办法
7191
查看次数

标签 统计

numpy ×1

python ×1

tensorflow ×1

tensorflow-datasets ×1