【51CTO.com快译】作为谷歌打造的深度学习框架,TensorFlow已经公布了一套完整的1.0候选版本。
1.0版本不仅提升了该框架的机器学习功能数量,同时亦简化了Python与Java用户的相关开发流程并增强了原有调试机制。新的编译器得以对TensorFlow计算机制进行优化,这意味着将有更多新型机器学习应用运行在智能手机级别的硬件之上。
专注于Pythong与Java
由于Python已经成为构建及使用机器学习应用的主要平台之一,因此TensorFlow 1.0也及时改进了与Python的交互能力。TensorFlow Python API迎来升级,这意味着TensorFlow所使用的语法及比喻能够更好地与Python相匹配,最终提升二者间的一致性。
但遗憾的是,这些变更打破了对现有Python应用的支持效果。TensorFlow开发者已经发布对应脚本,能够将原有TensorFlow API脚本升级为新的格式,但其尚无法解决全部问题; 大家仍可能需要手动进行脚本调整。
TensorFlow目前可用于兼容Python 3的Docker镜像之内,且允许Python用户利用Python原生软件包管理器pip进行安装。这将帮助更多普通用户(而非专门研究数据科学)快速上手TensorFlow。
Java属于机器学习的另一大主要语言平台,但TensorFlow此前一直没有对其进行绑定。该框架的1.0版本引入了Java API,但其尚不完善且随时可能出现变更。另外,要使用该Java API,大家需要配合Linux或者 Mac OS环境。(很明显,Windows在TensorFlow阵营中仍是二等公民。)
利用XLA走向移动端
TensorFlow 1.0的***变化或许并非源自新的支持能力或者新算法,而在于一款实验性线性代数编译器,即Accelerated Linear Algebra(简称XLA)。其能够生成可运行在CPU或者GPU上的机器码,从而显著提升数学运算效率。就目前来看,XLA只支持英伟达GPU,但其未来还将为机器学习应用提供更多GPU支持能力。
XLA还提升了TensorFlow的可移植性,因此现有TensorFlow程序能够无需修改即运行在新的硬件平台之上。这主要归功于IBM公司将TensorFlow支持能力加入其由GPU与Power8 CPU组合而成的PowerAI硬件解决方案之上。
TensorFlow项目的工程师们已经降低了其整体内存使用量及应用体积。这些优化虽然具备普遍的收益,但在移动端则体现得特别明显。此前的TensorFlow各版本已经能够支持Android、iOS与Raspberry Pi硬件平台,而现在其已经能够在此类设备上执行镜像分类等操作。
说起机器学习,我们往往会联想到各类高端硬件,包括定制CPU、GPU阵列、FPGA以及云环境等。但新的理论认为,在普通智能手机上构建可运行的机器学习模型将能够带来更多新的应用类别。即使这部分目标无法彻底实现,这项努力仍将能够为TensorFlow的发展带来有力推动。
原文标题:TensorFlow 1.0 unlocks machine learning on smartphones
原文作者:Serdar Yegulalp
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】