[問題] python有記憶體限制嗎

看板Python作者 (艾瑞克)時間7年前 (2018/08/15 14:49), 6年前編輯推噓10(10012)
留言22則, 8人參與, 6年前最新討論串1/1
大家好 網路上查沒查到相關的問題.. 不知道是不是該在這裡發問 我是用anaconda的jupyter notebook 去跑sklearn 的svm 我用的數據約兩萬多筆 欄位有17個 在training的時候用迴圈讓他一次是用不同的數目去train (100 200 500 1000) train的時候已也幾個欄位而已 並不是全部17個 但就會卡住 跑很久 四個模型跑了一個多小時還沒好 但我個別跑1000的也只要10秒而已 想說會不會是記憶體的關係嗎? 但看工作管理員記憶體也沒跑滿 後來用IDLE去做一樣的事 也是一樣 而且分給python的記憶體差不多就100MB 然後我個別跑的時候 train data超過4000的時候也是會跑不出來 想請問這樣是哪裡有問題嗎? ps. 程式方面應該是沒有錯 因為是跟著網路上的教學做的 幾乎一模一樣 且單一跑跑得出來 新手發問 請多包涵 謝謝<(_ _)> -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.13.120 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1534315751.A.807.html ※ 編輯: lericee (140.112.13.120), 08/15/2018 14:49:35

08/15 15:00, 7年前 , 1F
看複雜度
08/15 15:00, 1F
謝謝d大 不過其實我沒有完全瞭解svm.. 以我所知svm時間複雜度好像是O(n^2)的樣子吧? 所以我size先以小的先慢慢變大 100 200 500 1000 其實都在做一樣的事 各自跑 0.2 1 8 10秒 這樣 只是用回圈一起跑就會跑不出來 空間我就不太清楚.. 不過看網路上好像都幾十萬筆在跑的樣子 用個幾千就會跑不出來了嗎?? 至於資料分類有20種 ※ 編輯: lericee (140.112.13.120), 08/15/2018 15:35:33

08/15 17:54, 7年前 , 2F
SVM 很慢
08/15 17:54, 2F

08/15 17:55, 7年前 , 3F
主要是 SVM 背後的演算法相對複雜,tree 簡單多了
08/15 17:55, 3F
哦哦 謝謝~ 我想說一起跑應該也就加起來 大概20幾秒 所以真的可能是還沒跑完囉? ※ 編輯: lericee (140.112.13.120), 08/15/2018 18:35:46

08/15 18:45, 7年前 , 4F
另外想問一下anaconda的運作是怎麼運作呢? 因為我有時候
08/15 18:45, 4F

08/15 18:46, 7年前 , 5F
同樣的code 在anaconda跑幾十分鐘出不來 用本機IDLE 一分
08/15 18:46, 5F

08/15 18:47, 7年前 , 6F
鐘就好了 anaconda是在伺服器運作嗎 還是也用本機處理呢?
08/15 18:47, 6F

08/15 19:31, 7年前 , 7F
複雜度應該是2-3之間 但是迴圈跑不出來沒啥道理
08/15 19:31, 7F

08/15 19:31, 7年前 , 8F
你有把verbose打開看看有沒有東西嗎
08/15 19:31, 8F

08/15 19:40, 7年前 , 9F
你說anaconda跑不出來是指jupyter/ipython嗎?
08/15 19:40, 9F
verbose 是指 fit(..., verbose=1) 嗎 我試試看 我用anaconda 的jupyter notebook 然後一直顯示在運行中 In[*] 這樣 痾.. 不好意思 verbose是什麼呀..>"< 我是查到model.fit(~~~,verbose=1) 這個 不過我svm.fit()好像不能用的樣子 說沒這個參數 還是是別的東西嗎@@

08/15 20:13, 7年前 , 10F
一看就知道你的迴圈沒寫好啊
08/15 20:13, 10F
但是有時候又可以欸@@ 雖然大部份不行 就是我跑三個的時候可以 跑四個就不行了 或是我跑[100,200,500]時可以 跑[1000,1500,2000]就不行 ※ 編輯: lericee (140.112.13.120), 08/15/2018 20:34:11 ※ 編輯: lericee (140.112.13.120), 08/15/2018 21:42:50

08/15 21:56, 7年前 , 11F
verbose就是print訓練過程而已
08/15 21:56, 11F

08/15 22:00, 7年前 , 12F
我剛查sklearn下面的svm都有verbose才對@@
08/15 22:00, 12F

08/15 22:07, 7年前 , 13F
阿 你會不會沒做normalize
08/15 22:07, 13F

08/15 22:32, 7年前 , 14F
你可以設定max_iter確認問題是不是在收斂條件上
08/15 22:32, 14F
對欸 我沒有做normalize 因為我之前用內建iris data試的時候 發現沒有normalize也做得蠻好的 所以就沒用來試試看@@ https://imgur.com/a/WCt56AG https://imgur.com/a/rQoNjEr 然後付上我短短的code https://imgur.com/a/eR5M9BO 然後這是 沒verbose參數 @@ 還有下面是para=[100,200,500]的結果有出來 ※ 編輯: lericee (140.112.233.9), 08/15/2018 23:26:36 ※ 編輯: lericee (140.112.233.9), 08/15/2018 23:35:30

08/16 00:09, 7年前 , 15F
先看看你的python是不是跑64bit的版本吧
08/16 00:09, 15F
我看官網是寫64 (3.5.2) 電腦也是64位元 ※ 編輯: lericee (140.112.233.9), 08/16/2018 01:18:38

08/16 02:13, 7年前 , 16F
normalize後還是跑不出大筆的結果嗎?
08/16 02:13, 16F
有了欸! 而且快超多的@@ 非常謝謝g大熱心的回答! ※ 編輯: lericee (140.112.233.9), 08/16/2018 10:49:50

08/16 12:08, 7年前 , 17F
也謝謝其他人的幫忙~~
08/16 12:08, 17F

08/16 18:00, 7年前 , 18F
讚讚讚 恭喜成功
08/16 18:00, 18F

08/16 22:28, 7年前 , 19F
真的感謝G大的熱心幫忙 Q_Q
08/16 22:28, 19F

08/21 17:27, 6年前 , 20F
什麽是normalize?
08/21 17:27, 20F

08/21 17:27, 6年前 , 21F
什麽是normalize?
08/21 17:27, 21F
把參數數值scale成0~1 ※ 編輯: lericee (140.112.233.9), 08/23/2018 00:16:21

08/23 20:26, 6年前 , 22F
中文貼切一點叫歸一化
08/23 20:26, 22F
文章代碼(AID): #1RSypdW7 (Python)
文章代碼(AID): #1RSypdW7 (Python)