Propel项目给出一种科学计算和机器学习JavaScript库。近期,该项目宣布改变研发方向。Propel最初致力于扩展TensorFlow的deeplearn.js和C语言实现。但在2018年3月Propel首次发布后数星期,Google就发布了Tensorflow.js。Tensorflow.js是由Google发布的Javascript库deeplearn.js演化而来。
考虑到Tensorflow.js和Propel两者在底层方法上的相似性,Propel项目团队迅速认识到,归并到同一共享平台是一种更好的做法:
TensorFlow.js(TFJS)近期发布。它设计良好,为后向传播(backprop)提供了自动微分(autograd)风格的接口,并将努力实现对Node的支持。这也符合我们的要求。追求两者的齐头并进会适得其反。因此,我们放弃了自己的后向传播实现、与TF C的绑定,以及构成Propel库基础的TF/DL桥。我们打算基于TFJS重新设计我们的工作。
由此,当前Propel项目正在重启。Propel网站已不再提供服务以及使用Propel例子,并且在团队努力确定新方向期间,在过去几周内项目面向公众的活动一直很少:
我们的高层目标依然是实现用于JavaScript科学计算的高效工作流。基于TFJS构建,使我们得以聚焦于高层功能。
类似于Propel最初的早期工作,TensorFlow.js也使用WebGL实现受GPU支持的数值计算。据TensorFlow.js团队介绍,现在TensorFlow.js提供了对Node.js的支持:
是的!我们近期发布了TensorFlow对Node.js的绑定。这使得同一JavaScript代码可工作于浏览器和Node.js中,同时绑定到节点中底层的TensorFlow C语言实现。你可以通过GitHub追踪项目的进展,并试用NPM软件包。
作为TensorFlow.js发布的一部分,deeplearn.js软件库已成为TensorFlow.js的核心库(Core)。在核心库之外,TensorFlow.js还添加了一个构建机器学习模型和工具的Layers API,支持自动移植TensorFlow SavedModel格式和Keras HDF5格式的模型。
Propel和TensorFlow.js项目均采用Apache 2.0许可开源。鼓励开发人员通过TensorFlow.js和Propel的GitHub代码库做出贡献。
查看英文原文: Propel Shifts Plans to Leverage TensorFlow.js
转自 http://www.infoq.com/cn/news/2018/05/propelml-tensorflowjs-shift