※ 引述《flightheory (飞行原理)》之铭言:
: 真正熟悉是C#, 摸了两年已经很有心得, PM很放心我写的C#程式, 尤其是WPF和XAML部分.
: 但无论如何, 既然你提到了Python和C#, 这两个我都接触过, 就来试着与你讨论讨论.
: 先讲结论, 个人看法不建议同时学Python和C#, 两者必须二择一. 因为两者差异太大了.
: Python的好处是你很容易用Keras和Tensorflow做出深度学习的东西, 学习门槛很低. 但
: Python程式的速度不快, 以前我用CPU跑CNN, 要在周五下班前开始让程式跑, 等周一上班
: 才来看结果. 现在用1060 6GB的GPU来跑, 所花时间虽然是1/30, 但跟我希望的还是太慢.
: 所以我打算把手头上的医材做到差不多时, 改用C#&CNTK来跑深度学习. 以我对C#的理解
: 速度一定比Python快许多.
Neural Network吃的是floating point的运算速度。简单看一个连结
https://bit.ly/2XmAWpR
1060的fp32是4.4tflops。intel第一个1tflops的cpu是i9-7980XE。虽然各总差异,但大致上nn一定要用GPU是毋庸置疑的。
Pytorch, Keras, Tensorflow, CNTK的gpu运算都是架在Cuda上,应该说是cuDNN上(n的proprietary library)。所有dl/ml的training时间,99%都在gpu里,你Python换c#一点都不会有任何影响。
N公司非常狡诈,我们知道fp16在大部分NN运算就够了,N就把10xx的fp16运算crippled,这一代的fp16是f32的1/64。让你乖乖买昂贵的AI专用卡。还好Rtx这一代,因为TensorCore原因(4x4Matrix),稍微解放fp16,所以你用Rtx2060的fp16 MixedMode,运算速度可跟1080ti一拼。
AMD gpu不好用,因为他没有cuDNN。OpenCL没有人开发clDNN,AMD又另外搞ROCM/HIP,Intel搞MKL-DNN,没有整合努力。你现在要运算快又便宜就是选RTX2060,除非你的dataset太大。
: 当初有人问我为何辞去公职? 难道不怕公司怎么了? 我说我相信AI会红个十年, 等AI退烧
: 而公司又怎么了, 我也60岁可以退休, 所以就给它拼个十年看看, 或许真的能高雄发大财
我们现在有点像在dk效应的谷底。看一些美国论坛,一堆Engineers讲30年,Level5的自驾车还要30年,虽然某某大教授(NN的权威)说他乐观的估计2032年有机会。
我非常看好现在的AI,但是还是需要很多钱,很多人力,很多的研究,希望大家不要被将要来的AI Winter洗出去。
Software is eating the World,这还是未来的趋势。