我将我的数据存储在Google云端硬盘上,并通过以下代码将数据装载到Colab:
from google.colab import drive
drive.mount('/content/gdrive')
可以,但是例如训练神经网络非常慢。现在,我想知道是否还有其他方法可以在Colab上获取数据?
注意:我无法一次将所有数据存储在Colab上,因为它太大了。因此,我需要分批训练我的网络。
要批量获取数据,我使用自定义的DataGenerator
和keras.utils.Sequence
。
class DataGenerator(Sequence):
def __init__(self, x_set, y_set, batch_size):
self.x, self.y = x_set, y_set
self.batch_size = batch_size
def __len__(self):
return math.ceil(len(self.x) / self.batch_size)
def __getitem__(self, idx):
batch_x = self.x[idx*self.batch_size : (idx + 1)*self.batch_size]
batch_x = [imread(file_name) for file_name in batch_x]
batch_x = np.array(batch_x)
batch_x = batch_x * 1./255
batch_y = self.y[idx*self.batch_size : (idx + 1)*self.batch_size]
batch_y = np.array(batch_y)
return batch_x, batch_y
我正在使用TensorFlow
进行模型配置。
数据集包含超过180.000张车牌图像,我想识别这些图像为真相文本,图像路径为x_set
数据。 y_set
是每幅图像的相应标签,它们是一键编码的。