为什么在windows下用不了tensorflow
google头一次让人莫名地失望,总觉得有些华而不实,或搞了噱头但有意地抽掉关键功能这里跟另一个我用的框架比较deeplearning4j及其分开的数值库nd4j也是支持张量的1.虽然已实作的网路种类很广,但不少都是那种只要框架本身架构好些,就挺容易自行扩展实现的,对任何有自行编程扩展能力的人来说,这不能算是个好处.因为深度学习架构日新月异,更重要的是实作新架构的弹性,这点tensorflow目前略胜,用Java还是有点痛苦的.但若是用其他支持设计DSL的JVM语言如Scala或Groovy等,也是大有可为.已经有人用Scala或Groovy的DSL搞出一个Dataflow或甚至reactive的范式用于界面设计,虽还没人用在深度学习架构上,但这只是有没人要做的问题.pythonC++不支持DSL,没法自然地嵌入其他范式,硬做成dataflow还是有些难看的2.暂时不支持分布式,不知道要等到猴年马月才会释出,说不定根本不会释出,用了说不定就被Google服务给绑架了,说绑架是情绪化些,但这确实是Google常用的商业模式,用所谓的开源软件搭配闭源且很关键的服务.现在应用场景的数量级一个比一个大,没分布式只能玩玩具.但此时已经有两个用java写的框架支持分布式,似无必要作此赌注.其中一个是我没用过的SINGA,及我用的deeplearning4j3.deeplearning4j后端可抽换,有spark后端支持分布式,还有更轻量的Akka分布式后端,另外Spark后端支持在每台主机上用Cuda加速,甚至还貌似很容易的加上了有zookeeper跟这个我不知道是什麽的分布式后端,若第1点讲的是语言界面前端的弹性,这第3点就是讲后端的弹性了,两端的可携性都强到一定境界.若是Tensorflow也要增加新后端,恐怕是到处都在定义Protocolbuf,这点另Tensorflow相形见绌4.Tensorflow把能在其他cpu架构上跑当作卖点,但很不巧deeplearning4j选上了JVM,不用什麽调整就能在手机上跑,只要你用不依赖原生函式库的纯Java后端像是JBlas