iT邦幫忙

0

關於Machine Learning選擇程式語言的衡量

  • 分享至 

  • twitterImage

各位大大好~

目前正在學習ML,有和其他人討論了一下選擇Python和C/C++的利弊。我個人是基於Traning速度上的考量而偏好C/C++,但我同學覺得Python的套件比較多,在建立model的時候會花比較少的時間在程式上,想了一下覺得好像兩個都沒錯,只是出發點不同而已。

想問一下各位大大有沒有在選擇Python或C/C++時其他考量的點?

wgivo9by iT邦新手 5 級 ‧ 2021-04-29 18:58:28 檢舉
ML當然選擇Python
Traning速度上買雲端加速 因為時間是買不到
逃~
python是解釋性語言,開源套件很多,適用的工具也很多,適合做數據分析和ML;
c++是編譯語言,適合做的很多,但是ML和數據分析的套件就少很多了;
以做出學習成果來説:c++更難入門,python更容易入門;
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
不明

跟你拿ML要做的事情有很大的關係吧,如果你是做研究的大部分都是python然後選要Tensorflow或是pytorch。這兩個框架最底下還是C的函式庫,python會慢除了他是直譯式語言,是有些部分大多是跟你研究相關的,是你自己用類似numpy的函式寫的沒有被優化的那麼完全。但以研究而言是你也不會想花時間用C去刻那些東西的,刻半天發現沒用馬上就丟了。

但是如果你的ML大多是拿來應用的這版很推用C的,物以稀為貴或是產業界很缺這種人才好像前途大好的樣子。還記得我大學修課用C刻了MLP之後就完全不想用C用ML了。雖然C也有人寫函式庫可以用啦。

關於Tensorflow還是pytorch:
http://horace.io/pytorch-vs-tensorflow/

過了快一年才看到回文XD
當初是想快點交作業所以用python的tensorflow去刻,但想到之後有可能會從事相關領域,想說要不要用用看C/C++來刻,畢竟在執行速度上是天差地遠。但後來想到其實也可以混者用,最花時間或最常重複運算的地方用C/C++運算,然後再用pipeline或其他方式回傳給python的主程式,不過開發上不見得比較快就是。

12121212
iT邦見習生 ‧ 2022-02-18 19:07:36
【**此則訊息已被站方移除**】

我要發表回答

立即登入回答