【问题标题】:Why is my data-set reducing while training?为什么我的数据集在训练时会减少?
【发布时间】:2020-03-31 19:06:18
【问题描述】:

在训练期间,我的数据集正在减少。我不知道是什么原因造成的。我已经填充了 X 并使用了测试列车拆分

max_features = 4500
X = pad_sequences(sequences = X, maxlen = max_features, padding = 'pre')
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 101)

X_train.shape

(17983, 4500)

y_train.shape

(17983,)

这是我的 lstm 算法

lstm_model = Sequential(name = 'lstm_nn_model')
lstm_model.add(layer = Embedding(input_dim = max_features, output_dim = 120, name = '1st_layer'))
lstm_model.add(layer = LSTM(units = 120, dropout = 0.2, recurrent_dropout = 0, name = '2nd_layer'))
lstm_model.add(layer = Dropout(rate = 0.5, name = '3rd_layer'))
lstm_model.add(layer = Dense(units = 120,  activation = 'relu', name = '4th_layer'))
lstm_model.add(layer = Dropout(rate = 0.5, name = '5th_layer'))
lstm_model.add(layer = Dense(units = len(set(y)),  activation = 'sigmoid', name = 'output_layer'))
lstm_model.compile(optimizer = 'adam', loss = 'sparse_categorical_crossentropy', metrics = ['accuracy'])


lstm_model_fit = lstm_model.fit(X_train, y_train, epochs = 2)

当时代开始运行时,在 1/17983 之前。 现在,当我重新运行时,它是 1/562。 请注意我是新手,我只是在运行现有代码来学习。为什么会发生这种情况。

【问题讨论】:

    标签: python tensorflow keras lstm training-data


    【解决方案1】:

    当您使用数据拟合模型时,GPU 必须加载所有数据并使用它。如果 GPU 同时加载 17983 个数据,就会耗尽内存。出于这个原因,数据被放入“批处理”中,它们是一起处理的数据组。标准尺寸为 32,如果您将 17983/32 = 561.96875 设为四舍五入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-24
      • 2021-04-03
      • 2021-07-24
      • 2021-02-16
      • 2018-04-02
      • 2021-09-29
      • 2022-12-04
      • 1970-01-01
      相关资源
      最近更新 更多