我有一个 CNN,我这样定义:
inputs = keras.Input(shape=(1024,1))
x=inputs
# 1st convolutional block
x = keras.layers.Conv1D(16, kernel_size=(3), name='Conv_1')(x)
x = keras.layers.LeakyReLU(0.1)(x)
x = keras.layers.MaxPool1D((2), name='MaxPool_1')(x)
x = keras.layers.Flatten(name='Flatten')(x)
# Classifier
x = keras.layers.Dense(64, name='Dense_1')(x)
x = keras.layers.ReLU(name='ReLU_dense_1')(x)
x = keras.layers.Dropout(0.2)(x)
x = keras.layers.Dense(64, name='Dense_2')(x)
x = keras.layers.ReLU(name='ReLU_dense_2')(x)
我在一个 google colab 会话中训练它,然后我打开经过训练的模型并使用 keras'model.predict(dataarr)来预测结果。
问题是我希望能够使用大量数据来进行预测,但数据保存在 .txt 文件中,这些文件变得非常大(>8GB),因此 google colab 没有足够的内存来打开文件并将所有数据读取到一个数组中。
处理这个问题的最佳方法是什么?我正在用 C++ 生成数据,我不是专家,但必须可以在我写出数据时将其转换为二进制数据,并在我读取数据时将其转换回来。这是一个明智的选择吗?或者有没有办法让 keras 批量预测,假设 .txt 文件中的每组 1024 行都独立于下一组?
墨色风雨
相关分类