我已经处理并保存了一个大型视频和音频文件数据集(大约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 后崩溃