У меня есть пакетный генератор, который дает мне данные в форме (500, 1, 12)
(то есть соответствует (batch size, time steps, features)
).
def batch_generator(batch_size, gen_x,gen_y):
batch_features = np.zeros((batch_size,1, 12))
batch_labels = np.zeros((batch_size,9))
while True:
for i in range(batch_size):
batch_features[i] = next(gen_x)
batch_labels[i] = next(gen_y)
yield batch_features, batch_labels
def generate_X():
while True:
with open("/my_path/my_data.csv") as f:
for line in f:
currentline = line.rstrip('\n').split(",")
currentline = np.asarray(currentline)
currentline = currentline.reshape(1,1,12)
yield currentline
def generate_y():
while True:
for i in range(len(y_train)):
y= y_train[i]
yield y
Затем я пытаюсь передать это в 1D-CNN:
model = Sequential()
model.add(Conv1D(filters=100, kernel_size=1, activation='relu', input_shape=(1,12), data_format="channels_last"))
Но теперь я не могу использовать размер ядра больше 1 (т.е. kernel_size = 1
). Вероятно, это потому, что мой временной шаг равен 1.
Как я могу использовать весь размер пакета в качестве входных данных для 1D-CNN и увеличить kernel_size
?