Pytorch是一个基于Torch的Python开原机器学习库,用于自自然语言处理等应用程序,能够实现强大的GPU加速,同时支持动态神经网络。具有两个高级功能:1.具有强大的GPU加速的张量计算(如Numpy);2.包含自动求导系统的深度神经网络。如果想要改变网络的结构,利用反向求导技术,可以零延迟的任意改变神经网络的行为,实现速度快。可视化方面:pytorch和matlab结合进行可视化。优点:支持GPU、灵活、支持动态神经网络、底层代码易于理解、命令式体验、自定义扩展、学习成本低。缺点:对比TensorFlow而言,全面性处于劣势,不支持快速傅里叶、沿维翻转张量和检查无穷与非数值张量、运行效率低。
TensorFlow是一个符号式的编程语言,而且是静态的,首先必须构建一个神经网络。然后一次又一次使用相同的结构,如果想要改变网络的结构,就要从头开始。可视化:使用自身自带的TensorBoard进行可视化,在可视化机器学习模型时是一个不错的选择。优点:全面性、运行效率相对较高。缺点:学习成本相对较高。
社区方面:Pytorch的社区比TensorFlow小的多,TensorFlow被商业组织、学术界等各个领域的许多研究人员所采用。
API方面:TensorFlow是最好的API,同时提供了高级的API和低级的API,Pytorch提供了较低级的API,专注于数组表达式的直接工作。
部署方面:TensorFlow适用于移动和嵌入式部署。在不降低服务质量的情况下,无法轻松地热交换Pytorch,但是TensorFlow可以轻松地进行热交换。