[問卦] python做科學運算,要分享什麼?

看板Gossiping作者 (說不定我一生涓滴廢文)時間2年前 (2022/01/21 05:18), 2年前編輯推噓108(112452)
留言168則, 111人參與, 2年前最新討論串1/1
欸欸 我明天group meeting要分享python科學數值運算小技巧 我目前想到要講的 1. 介紹numpy 2. 不要用迴圈 用numpy 3. 用numba jit編譯 4. 用multiprocessing加速 5. 藉由torch 使用gpu做運算 科學運算相關的python小技巧 臥虎藏龍的鄉民還有什麼好建議嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 128.146.189.73 (美國) ※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1642713511.A.2E6.html

01/21 05:21, 2年前 , 1F

01/21 05:23, 2年前 , 2F
睡著惹
01/21 05:23, 2F

01/21 05:24, 2年前 , 3F
hello world 的技巧
01/21 05:24, 3F

01/21 05:25, 2年前 , 4F
即時 AI 換臉。換自己當A片男主角不用等
01/21 05:25, 4F

01/21 05:28, 2年前 , 5F
我覺得第5項可以改cupy,或者也介紹cupy
01/21 05:28, 5F
我之前測了一下cupy 很多功能沒比torch快 你有興趣可以認真跑個benchmark看看

01/21 05:28, 2年前 , 6F
cupy的優點是用起來跟numpy差不多
01/21 05:28, 6F
torch我覺得也差不多啊 ※ 編輯: newwu (128.146.189.73 美國), 01/21/2022 05:30:03

01/21 05:30, 2年前 , 7F
你是用cupy幾版啊? 之前 anaconda 是v6
01/21 05:30, 7F

01/21 05:30, 2年前 , 8F
的時候有些是真的滿慢的
01/21 05:30, 8F

01/21 05:30, 2年前 , 9F
科學運算青青幾時會被起訴
01/21 05:30, 9F

01/21 05:30, 2年前 , 10F
我沒有用過torch,但numpy 跟 cupy 用起
01/21 05:30, 10F

01/21 05:31, 2年前 , 11F
來幾乎就是把程式瑪裡面的 numpy改cupy
01/21 05:31, 11F

01/21 05:31, 2年前 , 12F
torch 也這麼方便喔?
01/21 05:31, 12F
我覺得幾乎是這樣 這也是我用torch 不用tensorflow的理由 最近的版本更是大多數的numpy function都有對應 和cupy比不知道哪個涵蓋得多

01/21 05:35, 2年前 , 13F
我覺得很吃 interperter 有時候向量運
01/21 05:35, 13F

01/21 05:35, 2年前 , 14F
算會被解成迴圈讀取…benchmark出來會
01/21 05:35, 14F

01/21 05:35, 2年前 , 15F
一樣(#
01/21 05:35, 15F
沒道理啊 都用numpy了 應該是用numpy底層的c編譯出的code吧

01/21 05:35, 2年前 , 16F
faiss
01/21 05:35, 16F

01/21 05:37, 2年前 , 17F
pytorch 我覺得最好用的是可以一次扔一
01/21 05:37, 17F

01/21 05:37, 2年前 , 18F
整個 tensor 做 矩陣乘法 再用 nn.func
01/21 05:37, 18F

01/21 05:37, 2年前 , 19F
tion去運算 自己土炮出來的底層可能比
01/21 05:37, 19F

01/21 05:37, 2年前 , 20F
較快 但沒那麼方便跟直觀
01/21 05:37, 20F

01/21 05:38, 2年前 , 21F
multiprocessing 我覺得可以往後放,這個
01/21 05:38, 21F

01/21 05:38, 2年前 , 22F
上面是不討論 numpy 狀況 我的意思是 b
01/21 05:38, 22F

01/21 05:38, 2年前 , 23F
uilt-in function for python
01/21 05:38, 23F

01/21 05:38, 2年前 , 24F
隨便寫可能會遇到 PicklingError
01/21 05:38, 24F

01/21 05:38, 2年前 , 25F
01/21 05:38, 25F
感謝分享 因為有人想要學我才放的 不然我也沒用過幾次

01/21 05:42, 2年前 , 26F
我之前也是自己跑模擬被multiprocessing
01/21 05:42, 26F

01/21 05:42, 2年前 , 27F
炸到才知道有那鳥事
01/21 05:42, 27F

01/21 05:45, 2年前 , 28F
numba jit 真的很不賴
01/21 05:45, 28F
真的 而且會optimize 你假如用numpy向量運算沒注意細節,jit會快很多

01/21 05:48, 2年前 , 29F
拍聳的爬蟲 不是滿好用的嗎
01/21 05:48, 29F

01/21 05:55, 2年前 , 30F
numpy numba jit parallel mp cupy
01/21 05:55, 30F
是說說到gpu 我覺得julia cuda超好寫 比c好寫太多 效率也不差 ※ 編輯: newwu (128.146.189.73 美國), 01/21/2022 05:58:54

01/21 06:11, 2年前 , 31F
介紹pytorch 剩下不重要
01/21 06:11, 31F

01/21 06:12, 2年前 , 32F
python 連文組都會還要報啥
01/21 06:12, 32F
還有 98 則推文
還有 12 段內文
01/21 13:49, 2年前 , 131F
+1 謝謝
01/21 13:49, 131F

01/21 14:12, 2年前 , 132F
你沒要用自動微分功能換pytorch幹麻
01/21 14:12, 132F

01/21 14:13, 2年前 , 133F
想跑在gpu用cupy就好了
01/21 14:13, 133F

01/21 14:13, 2年前 , 134F
torch有些相同功能的跟numpy名稱不同
01/21 14:13, 134F

01/21 14:13, 2年前 , 135F
還更不方便
01/21 14:13, 135F

01/21 14:14, 2年前 , 136F
你要教torch那就直接教怎麼寫custom
01/21 14:14, 136F

01/21 14:14, 2年前 , 137F
backward fundtion, cpp extension
01/21 14:14, 137F

01/21 14:14, 2年前 , 138F
想要+1 感謝分享
01/21 14:14, 138F

01/21 14:15, 2年前 , 139F
tf2.0也差不多了
01/21 14:15, 139F

01/21 14:17, 2年前 , 140F
說到數值運算的小技巧我推薦是einsum
01/21 14:17, 140F

01/21 14:17, 2年前 , 141F
除非你tensor要消掉的維度很複雜
01/21 14:17, 141F

01/21 14:18, 2年前 , 142F
不然einsum有夠慢
01/21 14:18, 142F

01/21 14:19, 2年前 , 143F
一般人的usecase最多只需要用到bmm
01/21 14:19, 143F

01/21 14:23, 2年前 , 144F
@Huang因為生態圈支援完整吧
01/21 14:23, 144F

01/21 14:24, 2年前 , 145F
速度倒是不用擔心 數值運算套件的底
01/21 14:24, 145F

01/21 14:24, 2年前 , 146F
層全部是編譯語言 python只是當個界
01/21 14:24, 146F

01/21 14:24, 2年前 , 147F
面XD
01/21 14:24, 147F

01/21 14:44, 2年前 , 148F
生態圈應該是大者恒大,除非財團介入力推
01/21 14:44, 148F

01/21 14:44, 2年前 , 149F
C語言因為可攜性,不是建立生態圈很久了?
01/21 14:44, 149F

01/21 14:44, 2年前 , 150F
notebook+1 感謝
01/21 14:44, 150F

01/21 15:04, 2年前 , 151F
做數值運算跟研究的沒這麼需要可攜
01/21 15:04, 151F

01/21 15:04, 2年前 , 152F
性吧XD
01/21 15:04, 152F

01/21 15:32, 2年前 , 153F
站內++ 謝謝
01/21 15:32, 153F

01/21 16:12, 2年前 , 154F
站內++ 謝謝
01/21 16:12, 154F

01/21 16:34, 2年前 , 155F
我要 站內++ 謝謝
01/21 16:34, 155F

01/21 16:50, 2年前 , 156F
筆記++,感恩!
01/21 16:50, 156F

01/21 17:35, 2年前 , 157F
+1
01/21 17:35, 157F

01/21 18:12, 2年前 , 158F
站內++ 謝謝
01/21 18:12, 158F

01/21 18:35, 2年前 , 159F
站內++ 感恩!!
01/21 18:35, 159F

01/21 20:39, 2年前 , 160F
notebook +1! 謝謝
01/21 20:39, 160F

01/22 01:26, 2年前 , 161F
求分享,也想要學習,謝謝
01/22 01:26, 161F

01/22 01:41, 2年前 , 162F
想要notebook +1, 謝謝!
01/22 01:41, 162F

01/22 02:22, 2年前 , 163F
我整理一下 看看這邊晚上或明天會寄
01/22 02:22, 163F

01/22 09:11, 2年前 , 164F
想要瞭解+1,是否方便分享筆記,謝謝
01/22 09:11, 164F

01/22 09:11, 2年前 , 165F
01/22 09:11, 165F

01/22 10:08, 2年前 , 166F
想要notebook+1 ++
01/22 10:08, 166F
已寄出, 假如沒有要,但是我不小心寄了,抱歉 如果有跟我要沒收到,再跟我說

01/23 06:14, 2年前 , 167F
太神啦 八卦良心 謝謝您
01/23 06:14, 167F
有些例子寫錯了 修正一下 ※ 編輯: newwu (65.27.155.65 美國), 01/23/2022 06:52:45

01/24 10:40, 2年前 , 168F
想要+1 不知道還來得及嗎QQ 感謝
01/24 10:40, 168F
文章代碼(AID): #1XwT6dBc (Gossiping)