各位大大好~
目前正在學習ML,有和其他人討論了一下選擇Python和C/C++的利弊。我個人是基於Traning速度上的考量而偏好C/C++,但我同學覺得Python的套件比較多,在建立model的時候會花比較少的時間在程式上,想了一下覺得好像兩個都沒錯,只是出發點不同而已。
想問一下各位大大有沒有在選擇Python或C/C++時其他考量的點?
跟你拿ML要做的事情有很大的關係吧,如果你是做研究的大部分都是python然後選要Tensorflow或是pytorch。這兩個框架最底下還是C的函式庫,python會慢除了他是直譯式語言,是有些部分大多是跟你研究相關的,是你自己用類似numpy的函式寫的沒有被優化的那麼完全。但以研究而言是你也不會想花時間用C去刻那些東西的,刻半天發現沒用馬上就丟了。
但是如果你的ML大多是拿來應用的這版很推用C的,物以稀為貴或是產業界很缺這種人才好像前途大好的樣子。還記得我大學修課用C刻了MLP之後就完全不想用C用ML了。雖然C也有人寫函式庫可以用啦。
關於Tensorflow還是pytorch:
http://horace.io/pytorch-vs-tensorflow/