1 回答

TA貢獻1772條經驗 獲得超5個贊
功能:
from keras.layers import *
from keras.models import Model
import keras.backend as K
from keras.backend import tf
import numpy as np
minLength = 7
def expandData(x):
one = K.ones((1,), dtype='int32')
repetitions = K.cast(tf.ceil(minLength / K.shape(x)[-1:]), 'int32')
repetitions = K.concatenate([one, repetitions])
return K.tile(x, repetitions)
工作測試:
inputs = Input((None,))
outputs = Lambda(expandData)(inputs)
model = Model(inputs, outputs)
inputData = [np.arange(i+1).reshape((1,-1)) for i in range(10)]
for inputs in inputData:
preds = model.predict(inputs)
print('\ninput sequence - len=', len(inputs[0]), ' - ', inputs)
print('output sequence - len=', len(preds[0]), ' - ', preds)
添加回答
舉報