Я думаю, что нашел ответ.Поскольку я пытаюсь предсказать каждое n-е значение, мы можем просто сохранить выходные данные слоя LSTM, которые мы пытаемся предсказать, и избавиться от остальных.Для этого я создал лямбда-слой - он просто читает каждое седьмое значение из вывода lstm.Это код:
X = np.random.normal(0,1,size=(100,365,5))
y = np.random.randint(2,size=(100,52,1))
model = Sequential()
model.add(LSTM(1, input_shape=(365, 5), return_sequences=True))
model.add(Lambda(lambda x: x[:, 6::7, :]))
model.add(TimeDistributed(Dense(1,activation='sigmoid')))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X,y,epochs=3,verbose=1)