亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何重復輸入層直到超過一定數量的神經元?

如何重復輸入層直到超過一定數量的神經元?

慕的地8271018 2022-06-02 15:32:53
我的輸入層的形狀是(無,),我想重復輸入,直到它超過一定數量。(例如直到超過 (7,))這是我的代碼:import kerasleast_accepted = 7 #the least accepted lengthInpt_lyr = keras.Input(shape = (None,))nxt_lyr = keras.layers.RepeatVector(least_accepted)(Inpt_lyr)nxt_lyr = keras.layers.Reshape((-1,))# and so on...但我不確定這是否是優化的方式。例如,如果接受的最小長度為 7,我希望輸入長度為 1、2、3、4、5、6,結果如下:1 -> 7、2 -> 8、3 -> 9、4 -> 8, 5 -> 10, 6 -> 12。這是它們大于 7 的第一個倍數。非常感謝任何幫助...
查看完整描述

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)


查看完整回答
反對 回復 2022-06-02
  • 1 回答
  • 0 關注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號