Jittor 深度学习框架入门(pytorch转换)、对比

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

中文网站:https://pytorch-cn.readthedocs.io/zh/latest/

2.NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

3.tensorflow

tensorFlow是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief。

tensorflow和pytorch都基于caffe而来,并且日趋同化

Caffe,全称Convolutional Architecture for Fast Feature Embedding,是一个兼具表达性、速度和思维模块化的深度学习框架。由伯克利人工智能研究小组和伯克利视觉和学习中心开发。虽然其内核是用C++编写的,但Caffe有Python和Matlab 相关接口。Caffe支持多种类型的深度学习架构,面向图像分类和图像分割,还支持CNN、RCNN、LSTM和全连接神经网络设计。Caffe支持基于GPU和CPU的加速计算内核库,如NVIDIA cuDNN和Intel MKL。

对比:

pytorch 轻量、灵活,使用动态图描述神经网络

动态图分为静态的子图和控制流,控制流控制宏观上调用哪些子图,静态包含Module和Function,Function包含自动微分相关管理,Module在此基础上管理权重。

控制流使用python 的控制流,在Module的forward中使用python描述控制流程。

tensorflow早期使用静态图描述神经网络,但缺乏控制流。目前是加一些控制流的op(用静态图打一些补丁把动态的部分包装成一个op,但不灵活。用户层面使用较多的是python描述控制流。

pytorch的做法是引入Torchscript,用python修饰符将用户描述控制流转为Torchscript控制流,同时转换为后端,以便部署。

4.jittor

Jittor 是一个基于即时编译和元算子的高性能深度学习框架,整个框架在即时编译的同时,还集成了强大的Op编译器和调优器,为您的模型生成定制化的高性能代码。

Jittor前端语言为Python。前端使用了模块化的设计,类似于PyTorch,Keras,后端则使用高性能语言编写,如CUDA,C++。

https://cg.cs.tsinghua.edu.cn/jittor/assets/docs/jittor.html

pytorch->jittor模型辅助转换工具教程

http://cg.cs.tsinghua.edu.cn/jittor/tutorial/2020-5-2-16-43-pytorchconvert/

from jittor.utils.pytorch_converter import convert

pytorch_code=
"""
class AdaptiveAvgPool2d(nn.Module):

"""
jittor_code = convert(pytorch_code)
print(jittor_code)

在线转换:

http://cg.cs.tsinghua.edu.cn/jittor/pt_converter/

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值