• PyTorch学习笔记1--PyTorch简介


    本笔记参考资料:

    相信你肯定已经了解过Tensorflow的笔记了。 本笔记特别适合于从Tensorflow框架转移到PyTorch上的科研人员和学生等等。


    从前的从前有座山,山上有座庙,庙里有个老和尚...

    打住


    PyTorch基本概念

    Torch是用一种叫做Lua的编程语言写的,类似Numpy的张量(Tensor)操作,有大量机器学习算法支持的科学计算框架。由于是Lua这个小众语言编写,流行度不高

    而PyTorch是一个基于Torch的Python开源机器学习库,用于自然语言处理等应用程序。

    注:PyTorch和Torch使用包含所有相同性能的C库:TH, THC, THNN, THCUNN,并且它们将继续共享这些库。
    这样的回答就很明确了,其实PyTorch和Torch都使用的是相同的底层,只是使用了不同的上层包装语言。LUA虽然快,但是太小众了,所以才会有PyTorch的出现。

    PyTorch的主要特点

    PyTorch提供了两个高级功能:

    • 具有强大的GPU加速的张量计算(如Numpy)
    • 包含自动求导系统的深度神经网络

    PyTorch的上手时间

    PyTorch本质上是Numpy的替代者,而且支持GPU、带有高级功能,可以用来搭建和训练深度神经网络。如果你熟悉Numpy、Python以及常见的深度学习概念(卷积层、循环层、SGD等),会非常容易上手PyTorch。

    PyTorch与TensorFlow

    1. 计算图:创建和运行计算图可能是两个框架最不同的地方。在PyTorch中,图结构是动态的,这意味着图在运行时构建。而在TensorFlow中,图结构是静态的,这意味着图先被“编译”然后再运行。
    2. 设备管理:TensorFlow的设备管理非常好用。通常你不需要进行调整,因为默认的设置就很好。例如,TensorFlow会假设你想运行在GPU上(如果有的话)。而在PyTorch中,即使启用了CUDA,你也需要明确把一切移入设备。
    3. 可视化:TensorBoard是TensorFlow自带的可视化工具,用来查看机器学习训练过程中数据的变化。通过训练脚本中的几个代码段,你可以查看任何模型的训练曲线和验证结果。TensorBoard作为web服务运行,特别便于对于无头结点上存储的结果进行可视化。对于PyTorch,借助两个开源项目可以实现。第一个是tensorboard_logger,第二个是crayon。tensorboard_logger库用起来甚至比TensorBoard的“摘要”更容易,尽管想用这个首先得安装TensorBoard。crayon可以完全替代TensorBoard,但是需要更多的设置(docker是先决条件)。
    4. 平台部署:对于小规模的服务器端部署(例如一个Flask web server),两个框架都很简单。对于移动端和嵌入式部署,TensorFlow更好。不只是比PyTorch好,比大多数深度学习框架都要要。使用TensorFlow,部署在Android或iOS平台时只需要很小的工作量,至少不必用Java或者C++重写模型的推断部分。

    总地来说:PyTorch更有利于研究人员、爱好者、小规模项目等快速搞出原型。而TensorFlow更适合大规模部署,特别是需要跨平台和嵌入式部署时。

  • 相关阅读:
    npm的使用
    js 数组去重
    js实现对象或者数组深拷贝
    js简单排序
    js判断类型
    鼠标移入移出事件
    jq中的attr和prop属性
    移动端底部被输入法顶起的解决办法
    vue中的number
    javascript要点(上)
  • 原文地址:https://www.cnblogs.com/charleechan/p/12236708.html
Copyright © 2020-2023  润新知