真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

數(shù)據(jù)庫數(shù)據(jù)太大爆內(nèi)存該怎么辦

數(shù)據(jù)庫數(shù)據(jù)太大爆內(nèi)存該怎么辦,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比冀州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式冀州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋冀州地區(qū)。費用合理售后完善,十載實體公司更值得信賴。

在研究、應用機器學習算法的經(jīng)歷中,相信大伙兒經(jīng)常遇到數(shù)據(jù)集太大、內(nèi)存不夠用的情況。

這引出一系列問題:

  • 怎么加載十幾、幾十 GB 的數(shù)據(jù)文件?

  • 運行數(shù)據(jù)集的時候算法崩潰了,怎么辦?

  • 怎么處理內(nèi)存不足導致的錯誤?

處理大型 ML 數(shù)據(jù)文件的七種思路

1. 分配更多內(nèi)存

有的機器學習工具/庫有默認內(nèi)存設置,比如 Weka。這便是一個限制因素。

你需要檢查一下:是否能重新設置該工具/庫,分配更多內(nèi)存。

對于 Weka,你可以在打開應用時,把內(nèi)存當作一個參數(shù)進行調(diào)整。

2. 用更小的樣本

你真的需要用到全部數(shù)據(jù)嗎?

可以采集一個數(shù)據(jù)的隨機樣本,比如前 1,000 或 100,000  行。在全部數(shù)據(jù)上訓練最終模型之前(使用漸進式的數(shù)據(jù)加載技巧),先試著用這個小樣本解決問題。

總的來說,對算法做快速地抽查、看到結(jié)果在前后的變化,在機器學習領域是一個很好的習慣。

你還可以考慮:相對于模型技巧,做一個數(shù)據(jù)大小的敏感性分析。或許,對于你的隨機小樣本,有一個天然的邊際效應遞減分水嶺。越過這個關口,繼續(xù)增加的數(shù)據(jù)規(guī)模帶來的好處微乎其微。

3. 更多內(nèi)存

你必須要用 PC 嗎?

你可以考慮內(nèi)存、性能高一個量級的計算設備。比如,租用 AWS 這樣的云服務。租用云端有數(shù)十 GB  內(nèi)存的機器,***價格每小時不到一美元。我個人覺得這是非常實際的選擇。

4. 轉(zhuǎn)換數(shù)據(jù)格式

你是否把數(shù)據(jù)存為原始的 ASCII 文本,比如 CSV 文件?

或許,使用其它格式能加速數(shù)據(jù)載入并且降低內(nèi)存占用。好的選擇包括像 GRIB、NetCDF、HDF 這樣的二進制格式。

有很多命令行工具能幫你轉(zhuǎn)換數(shù)據(jù)格式,而且不需要把整個數(shù)據(jù)集載入內(nèi)存里。

換一種格式,可能幫助你以更緊湊的形式存儲數(shù)據(jù),節(jié)省內(nèi)存空間;比如 2-byte 整數(shù),或者 4-byte 浮點。

5. 流式處理數(shù)據(jù),或漸進式的數(shù)據(jù)加載

你的所有數(shù)據(jù),需要同時出現(xiàn)在內(nèi)存里嗎?

或許,你可以用代碼或庫,隨時把需要的數(shù)據(jù)做流式處理或漸進式加載,導入內(nèi)存里訓練模型。

這可能需要算法使用優(yōu)化技術迭代學習,比如使用隨機梯度下降。那些需要內(nèi)存里有所有數(shù)據(jù)、以進行矩陣運算的算法,比如某些對線性回歸和邏輯回歸的實現(xiàn),就不適用了。

比如,Keras 深度學習 API 就提供了漸進式加載圖像文件的功能,名為 flow_from_directory

另一個例子式 Pandas 庫,可批量載入大型 CSV 文件。

6. 使用關系數(shù)據(jù)庫(Relational database)

關系數(shù)據(jù)庫為存儲、訪問大型數(shù)據(jù)集提供了標準化的方法。

在內(nèi)部,數(shù)據(jù)存在硬盤中,能漸進式地 in batch 批量加載,并使用標準檢索語言 SQL 檢索。

像 MySQL、Postgres 這樣的開源數(shù)據(jù)庫工具,支持絕大多數(shù)的(全部?)編程語言。許多機器學習工具,都能直接與關系數(shù)據(jù)庫連通。你也可以用  SQLite 這樣更輕量的方法。

我發(fā)現(xiàn),這種方法對大型表格式數(shù)據(jù)集非常有效率。

雷鋒網(wǎng)提醒,你需要用能迭代學習的算法。

7. 使用大數(shù)據(jù)平臺

有的情況下,你可能必須要使用大數(shù)據(jù)平臺,即為處理超大型數(shù)據(jù)集而開發(fā)的平臺。它們能讓你進行數(shù)據(jù)轉(zhuǎn)換,并在其上開發(fā)機器學習算法。

兩個很好的例子是 Hadoop 與機器學習庫 Mahout,以及 Spark 與 MLLib 庫。

我認為,這是用盡上述辦法仍無法解決的情況下,才需要采用的***手段。單純是這為你的機器學習項目所帶來的額外硬件、軟件復雜情況,就會消耗許多精力。

即便如此,有的任務確實數(shù)據(jù)太過龐大,前面的選項都無法奏效。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。


本文題目:數(shù)據(jù)庫數(shù)據(jù)太大爆內(nèi)存該怎么辦
標題來源:http://weahome.cn/article/jhhsde.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部