PTT推薦

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

看板Gossiping標題[問卦] python做科學運算,要分享什麼?作者
newwu
(說不定我一生涓滴廢文)
時間推噓推:112 噓:4 →:52

欸欸 我明天group meeting要分享python科學數值運算小技巧
我目前想到要講的
1. 介紹numpy
2. 不要用迴圈 用numpy
3. 用numba jit編譯
4. 用multiprocessing加速
5. 藉由torch 使用gpu做運算

科學運算相關的python小技巧
臥虎藏龍的鄉民還有什麼好建議嗎?

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 128.146.189.73 (美國)
PTT 網址

badbadook 01/21 05:21https://i.imgur.com/r4IJDdN.jpg

圖 python做科學運算,要分享什麼?

deepdish 01/21 05:23睡著惹

Scathach 01/21 05:24hello world 的技巧

HuangJC 01/21 05:25即時 AI 換臉。換自己當A片男主角不用等

arrenwu 01/21 05:28我覺得第5項可以改cupy,或者也介紹cupy

我之前測了一下cupy 很多功能沒比torch快 你有興趣可以認真跑個benchmark看看

arrenwu 01/21 05:28cupy的優點是用起來跟numpy差不多

torch我覺得也差不多啊

※ 編輯: newwu (128.146.189.73 美國), 01/21/2022 05:30:03

arrenwu 01/21 05:30你是用cupy幾版啊? 之前 anaconda 是v6

arrenwu 01/21 05:30的時候有些是真的滿慢的

demandlonely 01/21 05:30科學運算青青幾時會被起訴

arrenwu 01/21 05:30我沒有用過torch,但numpy 跟 cupy 用起

arrenwu 01/21 05:31來幾乎就是把程式瑪裡面的 numpy改cupy

arrenwu 01/21 05:31torch 也這麼方便喔?

我覺得幾乎是這樣 這也是我用torch 不用tensorflow的理由 最近的版本更是大多數的numpy function都有對應 和cupy比不知道哪個涵蓋得多

wuyiulin 01/21 05:35我覺得很吃 interperter 有時候向量運

wuyiulin 01/21 05:35算會被解成迴圈讀取…benchmark出來會

wuyiulin 01/21 05:35一樣(#

沒道理啊 都用numpy了 應該是用numpy底層的c編譯出的code吧

ALTandTAB 01/21 05:35faiss

wuyiulin 01/21 05:37pytorch 我覺得最好用的是可以一次扔一

wuyiulin 01/21 05:37整個 tensor 做 矩陣乘法 再用 nn.func

wuyiulin 01/21 05:37tion去運算 自己土炮出來的底層可能比

wuyiulin 01/21 05:37較快 但沒那麼方便跟直觀

arrenwu 01/21 05:38multiprocessing 我覺得可以往後放,這個

wuyiulin 01/21 05:38上面是不討論 numpy 狀況 我的意思是 b

wuyiulin 01/21 05:38uilt-in function for python

arrenwu 01/21 05:38隨便寫可能會遇到 PicklingError

arrenwu 01/21 05:38https://bit.ly/3IeOryy

感謝分享 因為有人想要學我才放的 不然我也沒用過幾次

arrenwu 01/21 05:42我之前也是自己跑模擬被multiprocessing

arrenwu 01/21 05:42炸到才知道有那鳥事

arrenwu 01/21 05:45numba jit 真的很不賴

真的 而且會optimize 你假如用numpy向量運算沒注意細節,jit會快很多

grace132004 01/21 05:48拍聳的爬蟲 不是滿好用的嗎

darren8221 01/21 05:55numpy numba jit parallel mp cupy

是說說到gpu 我覺得julia cuda超好寫 比c好寫太多 效率也不差

※ 編輯: newwu (128.146.189.73 美國), 01/21/2022 05:58:54

liu1030 01/21 06:11介紹pytorch 剩下不重要

pc006229 01/21 06:12python 連文組都會還要報啥

herculus6502 01/21 06:13現在幾點而已竟然這麼多樓

arrenwu 01/21 06:14文組不會的是 numpy 呀

Eriri 01/21 06:15啥group meeting= = meeting報這種大家可以

Eriri 01/21 06:15自己學的東西 誰會感興趣= =

又不是我要求的 我們的group meeting很free啦 大部分的時候都不是報paper那種 反正半小時結束也可以

ggcip0514 01/21 06:18group meeting 報這個誰要聽?

velaro 01/21 06:18broadcasting吧

這倒是值得一說

LincolnBoy 01/21 06:25猛 我也想聽

Eriri 01/21 06:29group meeting報paper也沒人要聽阿

Eriri 01/21 06:30老闆通常只想聽有甚麼研究上的progress

喔喔 我們的group meeting不是這樣 主要是學生分享一些實用的主題 有些內容本來就很課本

wonder007 01/21 06:33報這幹麻?非本科?

廢話 CS報這個是要笑死人嗎

Lowpapa 01/21 06:39PYTHON的歷史

這最無用吧 有人看程式書很認真讀完這一部份的嗎

LincolnBoy 01/21 06:44有沒有整理完的slide 想讀

我可以把notebook分享給你

※ 編輯: newwu (128.146.189.73 美國), 01/21/2022 06:46:47

aska2000 01/21 06:56scikit learn and jupiter

Superxixai 01/21 06:56偶在初學Python 也想要Notebook @@

venomsoul 01/21 07:02Panda, Django

fan5566 01/21 07:06不如介紹copy paste

yyy855029 01/21 07:12想要notebook+1

bradyhau106 01/21 07:30我都用 fortran 寫

fastyangmh 01/21 07:32想要+1

jellyfishuan 01/21 07:39想要+1

royli 01/21 07:41pickle有安全性問題,少用

nyitalumnus 01/21 07:53調用是支語,可以用英文名詞嗎?虧

nyitalumnus 01/21 07:53你ip還是美國。

雖然我不在意,修了 主要是已經太多英文了 不想太晶晶體

mooc0102 01/21 07:54想要筆記!謝謝

Tolkien 01/21 07:54+1, thank you for sharing

ruokcnn 01/21 07:55Dynamic programming

jababa520 01/21 07:59學cython

likeyousmile 01/21 08:25視覺化方面有plotly,簡單幾行能做

likeyousmile 01/21 08:25互動式,3d,時間軸的圖

我喜歡plotly 不過感覺系上的人都沒特別感興趣(畫圖就是要發paper啊) dash還能簡單就做出互動界面

likeyousmile 01/21 08:26還有操作excel的xlwings,不用存檔

likeyousmile 01/21 08:26直接操作

likeyousmile 01/21 08:28MongoDB非結構化資料庫跟python 整

likeyousmile 01/21 08:28合不錯

likeyousmile 01/21 08:29直接用pandas啦,numpy 比較低階

看用途啦

Forbidden204 01/21 08:34jax 幾乎是無縫版的gpu-numpy

主要是我看benchmark,jax的速度好像也不如torch

ZXCWS 01/21 08:40科學運算還是用fortran居多

ZXCWS 01/21 08:40數值運算能力 有fortran效能好..

我不會 已經會c python julia了 懶得多學 現在也越來越少fortran了 都是老人/老闆傳下來的code python的好處還有可以直接接軌業界

a0916665106 01/21 09:04想知道call c++ dll 跟純c++差異

tony467913 01/21 09:08Python 社群的分享精神真好,連在八卦

tony467913 01/21 09:08版都這麼認真討論回答 推

等我明天會站內信給要的,可是是英文喔

※ 編輯: newwu (128.146.189.73 美國), 01/21/2022 09:16:49

applemilker 01/21 09:17notebook +1

Cireiat 01/21 09:22我也想要,謝謝您,再麻煩站內了

martin880501 01/21 09:25想要+1

KYS 01/21 09:29可以分享notebook嗎?感謝

ihczfu 01/21 09:35想要notebook+1

apm 01/21 09:35可以也寄notebook給我嗎?謝謝

davidmath 01/21 09:35想要+1 最近有想學 謝謝><

ysyuar 01/21 09:36求分享+1

ji3cp4su3ok 01/21 09:43想要++求分享 感謝

ASD332 01/21 09:51+1 Thx

sammy0703 01/21 09:52求分享++跪謝

thefggeuck 01/21 09:53求分享,謝謝。

XP 01/21 09:57求分享+1

asdfgh55585 01/21 09:59需要 謝謝

profitrader 01/21 10:05想要筆記++ 感謝

cgyue006 01/21 10:10++

WINxx 01/21 10:10想要筆記+1 謝謝~

dk2486248 01/21 10:15++

likeyousmile 01/21 10:22筆記+1

vince1452 01/21 10:23求分享筆記,謝謝

comedymania 01/21 10:32想要筆記 +1,謝謝~

tseapau85 01/21 10:39+1 notebook

shingai 01/21 10:53想拜讀高手的分享!先謝謝您慷慨分享

gypsophila99 01/21 11:03想要+1

navstar 01/21 11:13+1感謝!

tpegioe 01/21 11:25

imba8591 01/21 11:28站內++

eco 01/21 11:31站內+1

be00148 01/21 11:57把騎兵全部變成步兵片啊

valiant1014 01/21 12:04notebook++

yuiweq1999 01/21 12:04想要筆記+1 求分享感謝~

commiserate 01/21 12:19想要+1

PTTYA 01/21 12:21站內+1

boooozaaaa 01/21 12:21Notebook+1

zaxddg 01/21 12:23站內+1

tobe0105 01/21 12:30想要notebook +1 謝謝

liuted 01/21 12:30站內+1

nayaya 01/21 12:34+1

woogee 01/21 12:41筆記++

Yosi777 01/21 12:44想要+1 謝謝!

hope2801 01/21 12:46求分享,謝謝

lukelove 01/21 12:47站內++

adsl54010 01/21 13:00+1

snowball 01/21 13:04站內notebook+1

henry4204aaa 01/21 13:05想要筆記+1 感謝

tomwhite 01/21 13:15求分享 感謝~

BJkiller 01/21 13:17筆記謝謝 雖然一定不會給

tiamo77 01/21 13:19站內++ 謝謝

koim 01/21 13:21筆記+1 謝謝

f66043284 01/21 13:22有興趣Notebook +1,先感謝分享

shoeshoeya 01/21 13:23notebook+1 感謝

zlot 01/21 13:30想要筆記+1 謝謝~

spotH 01/21 13:36站內+1 感謝

royshome 01/21 13:42想要+1

HuangJC 01/21 13:44python 的引數傳送非常靈活,是這原因才

HuangJC 01/21 13:45讓一堆東西寫在上面嗎?不然明明想要速度

perrie7741 01/21 13:45想要+1

HuangJC 01/21 13:45就用 C或組語重寫啊..

pupudice 01/21 13:49+1 謝謝

yoyololicon 01/21 14:12你沒要用自動微分功能換pytorch幹麻

yoyololicon 01/21 14:13想跑在gpu用cupy就好了

yoyololicon 01/21 14:13torch有些相同功能的跟numpy名稱不同

yoyololicon 01/21 14:13還更不方便

yoyololicon 01/21 14:14你要教torch那就直接教怎麼寫custom

yoyololicon 01/21 14:14backward fundtion, cpp extension

SHiroo 01/21 14:14想要+1 感謝分享

ashura1234 01/21 14:15tf2.0也差不多了

yoyololicon 01/21 14:17說到數值運算的小技巧我推薦是einsum

yoyololicon 01/21 14:17除非你tensor要消掉的維度很複雜

yoyololicon 01/21 14:18不然einsum有夠慢

yoyololicon 01/21 14:19一般人的usecase最多只需要用到bmm

yoyololicon 01/21 14:23@Huang因為生態圈支援完整吧

yoyololicon 01/21 14:24速度倒是不用擔心 數值運算套件的底

yoyololicon 01/21 14:24層全部是編譯語言 python只是當個界

yoyololicon 01/21 14:24面XD

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

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

xbelieve 01/21 14:44notebook+1 感謝

yoyololicon 01/21 15:04做數值運算跟研究的沒這麼需要可攜

yoyololicon 01/21 15:04性吧XD

Yeeee2018 01/21 15:32站內++ 謝謝

stilllove56 01/21 16:12站內++ 謝謝

tatlacz 01/21 16:34我要 站內++ 謝謝

victorchiang 01/21 16:50筆記++,感恩!

dosmark9 01/21 17:35+1

rollstone 01/21 18:12站內++ 謝謝

lalalada 01/21 18:35站內++ 感恩!!

notlE 01/21 20:39notebook +1! 謝謝

allenfish 01/22 01:26求分享,也想要學習,謝謝

clement1mom 01/22 01:41想要notebook +1, 謝謝!

newwu 01/22 02:22我整理一下 看看這邊晚上或明天會寄

Bravo5566 01/22 09:11想要瞭解+1,是否方便分享筆記,謝謝

Bravo5566 01/22 09:11

rose1598 01/22 10:08想要notebook+1 ++

已寄出, 假如沒有要,但是我不小心寄了,抱歉 如果有跟我要沒收到,再跟我說

pupudice 01/23 06:14太神啦 八卦良心 謝謝您

有些例子寫錯了 修正一下

※ 編輯: newwu (65.27.155.65 美國), 01/23/2022 06:52:45

prmotolprlin 01/24 10:40想要+1 不知道還來得及嗎QQ 感謝