第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

創(chuàng)建具有多個輸入的 TimeseriesGenerator

創(chuàng)建具有多個輸入的 TimeseriesGenerator

LEATH 2022-10-06 20:02:05
我正在嘗試根據(jù)約 4000 支股票的每日基本面和價格數(shù)據(jù)訓練 LSTM 模型,由于內(nèi)存限制,在轉(zhuǎn)換為模型的序列后,我無法將所有內(nèi)容都保存在內(nèi)存中。這導致我使用生成器來代替 Keras / Tensorflow 的TimeseriesGenerator。問題是,如果我嘗試在所有堆疊的數(shù)據(jù)上使用生成器,它將創(chuàng)建混合股票序列,請參見下面的示例,序列為 5,這里序列 3將包括“股票 1 ”的最后 4 個觀察值和第一個觀察“股票2 ”相反,我想要的是類似于這個:稍微類似的問題:Merge or append multiple Keras TimeseriesGenerator objects into one我探索了像這樣組合生成器的選項 SO 建議:我如何組合兩個 keras 生成器函數(shù),但是在大約 4000 個生成器的情況下這不是想法。我希望我的問題是有道理的。
查看完整描述

1 回答

?
一只名叫tom的貓

TA貢獻1906條經(jīng)驗 獲得超3個贊

所以我最終要做的是手動進行所有預(yù)處理并為每個包含預(yù)處理序列的庫存保存一個 .npy 文件,然后使用手動創(chuàng)建的生成器進行批量處理:


class seq_generator():


  def __init__(self, list_of_filepaths):

    self.usedDict = dict()

    for path in list_of_filepaths:

      self.usedDict[path] = []


  def generate(self):

    while True: 

      path = np.random.choice(list(self.usedDict.keys()))

      stock_array = np.load(path) 

      random_sequence = np.random.randint(stock_array.shape[0])

      if random_sequence not in self.usedDict[path]:

        self.usedDict[path].append(random_sequence)

        yield stock_array[random_sequence, :, :]


train_generator = seq_generator(list_of_filepaths)


train_dataset = tf.data.Dataset.from_generator(seq_generator.generate(),

                                               output_types=(tf.float32, tf.float32), 

                                               output_shapes=(n_timesteps, n_features)) 


train_dataset = train_dataset.batch(batch_size)

Wherelist_of_filepaths只是預(yù)處理 .npy 數(shù)據(jù)的路徑列表。

這將:

  • 加載隨機股票的預(yù)處理 .npy 數(shù)據(jù)

  • 隨機選擇一個序列

  • 檢查序列的索引是否已經(jīng)被使用usedDict

  • 如果不:

    • 附加該序列的索引usedDict以跟蹤不向模型提供兩次相同的數(shù)據(jù)

    • 產(chǎn)生序列

這意味著生成器將在每次“調(diào)用”時從隨機股票中提供單個唯一序列,使我能夠使用來自 Tensorflows數(shù)據(jù)集類型的.from_generator()和方法。.batch()


查看完整回答
反對 回復(fù) 2022-10-06
  • 1 回答
  • 0 關(guān)注
  • 83 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號