Keras fit_generator()对于长信号

问题描述 投票:0回答:1

我想建立一个LSTM网络,我有很长的信号要用作训练数据

  • 我的[[X_train是一个CSV文件,其中包含12个信号,长度为54 837 488
  • 我的[[y_train是一个数组,其中包含一个长度为
  • 54 837 488的One Hot编码信号(9个类别)。
  • 如果我尝试将CS​​V文件作为数据帧或Python中的数组上传,则超出了RAM的限制,因此我的想法是使用fit_generator()。在制作图像模型之前,我曾使用过此工具,但后来我只使用了一些预生成器,但是我真的找不到任何预生成器来生成信号,因此我决定尝试自己制作一个。
def generate_data_to_model(y_train): while True: with open("/mypath/myData.csv") as f: for line in f: x= line.rstrip('\n').split(",") x= np.asarray(x) x=x[1:] x= x.reshape(1,1,12) yield (x, y_train[line]) model = Sequential() model.add(LSTM(32, input_shape=(1, 12))) model.add(Dense(32, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(9, activation='softmax')) model.compile(loss='categorical_crossentropy', optimizer="Adam", metrics=['acc']) model.fit_generator(generate_data_to_model(y_train), steps_per_epoch=1, epochs=2, verbose=1)

当我开始训练时,出现此错误:

<ipython-input-29-33b2195fea44> in generate_data_to_model(y_train)
      8                 x= x.reshape(1,1,12)
 ---> 9                 yield (x, y_train[line])

仅整数,切片(:),省略号(...),numpy.newaxis(None)和整数或布尔数组为有效索引
我想建立一个LSTM网络,我有一个很长的信号要用作训练数据。我的X_train是一个CSV文件,其中包含12个信号,长度为54837488我的y_train是一个...
python tensorflow keras model yield
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.