取消
顯示的結果
而不是尋找
你的意思是:

與LSTM火花

imgaboy
新的貢獻者三世

我還是失去了火花和深度學習模型。

如果我有一個(2 d)時間序列,例如我想用一個LSTM模型。然後我第一次將它轉換成一個三維數組,然後將其傳遞給模型。這是通常與numpy在內存中完成。但當我管理我的大文件與火花?迄今為止我所見過的所有的解決方案通過使用火花然後在numpy轉換3 d數據。在內存中,讓一切....還是我想錯了嗎?

一個共同的火花LSTM解決方案是這樣的:

#創建假數據導入隨機從keras keras導入模型導入層數據=[]節點範圍(0100):天的範圍(0100):data.append ([str(節點),天,隨機的。randrange(1) 15日,25日,隨機的。randrange(100 1),隨機的。randrange (1000、1045、1)]) df =火花。createDataFrame(數據,[“節點”,“天”,“臨時”,“嗡嗡聲”,'新聞'])#轉換數據df_trans = df.groupBy(天).pivot(節點).sum () df_trans = df_trans。orderBy(['天'],提升= True) #讓tran /測試數據trainDF = df_trans [df_trans。天< 70]testDF = df_trans [df_trans。天> 70)# # # # # # # # # # # # # # # # # #我們失去了火花# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #創建培訓/測試數組trainArray = np.array (trainDF.select (trainDF.columns) .collect ()) testArray = np.array (testDF.select (trainDF.columns) .collect()) #把目標列xtrain = trainArray (:, 0: 1) xtest = testArray(:, 0: 1) #把目標列ytrain = trainArray(:, 1:]次= testArray(:, 1: #重塑2 d到3 d xtrain = xtrain.reshape ((xtrain。形狀[0]1 xtrain.shape [1])) xtest = xtest.reshape ((xtest。形狀[0]1 xtest.shape[1])) #構建模型模型= models.Sequential () model.add(層。LSTM (1 input_shape = (1400))) model.add (layers.Dense (1) model.compile (=“mean_squared_error”損失,優化器=“亞當”)#火車模型=損失模型。適合(xtrain ytrain batch_size = 10,時代= 100)

我的問題是:如果我的火花數據使用數百萬行和成千上萬的列,然後當#創建培訓/測試數組程序試圖轉換數據,它會導致內存溢出。我說的對嗎?

我的問題是:火花可以用於火車LSTM模型對大數據,還是不可能?

生成器函數可以解決這個嗎?喜歡Keras生成器函數嗎?

7回複7

imgaboy
新的貢獻者三世

這樣一個簡單的DL模型圖像分類器使用超過65.000像素點作為輸入…所以它不是一個帽子數據神經網絡....

Hubert_Dudek1
尊敬的貢獻者三世

數據不但是列數。還有數組類型的火花。也許它會做得更好。

imgaboy
新的貢獻者三世

我的問題是如何添加/改變這個數據集模型從引發數據幀,沒有閱讀所有數據到內存中。上麵的示例代碼顯示了這個問題…

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map