初学者比较关心的问题就是好不好上手,以及是否容易扩展。我把这两个平台作为论文实现的工具,代码能力有限,所以在一个初学者角度说一下在自己的感想。

安装难易度:caffe>pytorch

caffe部署我是遇到不少麻烦的,特别是实验室很多人共用一个路径,环境比较乱,编译caffe基本上不可能不遇到问题,大部分问题baidu一下都可以解决。caffe最近又有了caffe2,要求是CUDA8.0 cudnn6及以上,CUDA7.5没戏,资料较少。

pytorch

配合anaconda使用,特别好用,conda一个新的环境,多少个人共用服务器也不会乱。需要注意的一点是,conda虽然会帮助大家配包,但是不会对照你的cuda版本和cudnn版本,所以安装pytorch的时候,建议CUDA-toolkit和cudnn的python包自己选择对应版本安装,然后再conda install pytorch。否则可能服务器上是CUDA7.5但是conda给安装了CUDA8.0的toolkit,GPU就没法用了。

上手难易度:caffe<pytorch

caffe

优点:prototxt结构非常清晰,一个网络结构文件,一个solver文件,结构清晰,简单易懂,还有在线的netscope可以直接复制网络结构代码,可以直观的获得网络结构的图形化表示。网络每层的weight和bias可以分别设置不同的学习速率。

缺点:不支持3D卷积。如果网络比较大,每层属性差不多,仍然需要逐层编写,比较繁琐。

pytorch

优点:网络灵活性高,支持动态图。python脚本语言,易于扩展。支持3D卷积。如果一个网络很多层,每层结构差不多,可以编写代码循环生成这些层,比较简洁。

缺点:灵活性太高,网络结构图形化表示相对困难,有一位大牛写了个代码,用起来不是很easy,出来的图也不如caffe那个好看。想要分别设定weight和bias的学习速率貌似不太容易。

扩展难易度:caffe>pytorch

caffe:对于不熟悉C++编程的人,扩展难度大,可以考虑使用python layer进行扩展。

pytorch: 相对容易,Variable可以自动求导。只用写forward函数就可以。

性能:

目前我跑过的网络,pytorch的网络结果比caffe略低。pytorch相比caffe占用内存更多,速度不如caffe。但是如果要复现各种论文,设计自己的loss函数,pytorch比较容易编写。比起caffe不支持这不支持那,pytorch支持的运算更多,更灵活。caffe2现在已经支持ND卷积,也解决了caffe部署困难的情况,可惜资料较少。等过完年我把CUDA升个级装一下caffe2试试。

初学者Pytorch 和 Caffe 使用对比相关推荐

  1. 【深度学习】Keras vs PyTorch vs Caffe:CNN实现对比

    作者 | PRUDHVI VARMA 编译 | VK 来源 | Analytics Indiamag 在当今世界,人工智能已被大多数商业运作所应用,而且由于先进的深度学习框架,它非常容易部署.这些深度 ...

  2. Keras vs PyTorch vs Caffe:CNN实现对比

    作者|PRUDHVI VARMA 编译|VK 来源|Analytics Indiamag 在当今世界,人工智能已被大多数商业运作所应用,而且由于先进的深度学习框架,它非常容易部署.这些深度学习框架提供 ...

  3. 深度学习总结:tensorflow和pytorch关于RNN的对比,tf.nn.dynamic_rnn,nn.LSTM

    tensorflow和pytorch关于RNN的对比: tf.nn.dynamic_rnn很难理解,他的意思只是用数据走一遍你搭建的RNN网络. 可以明显看出pytorch封装更高,更容易理解,动态图 ...

  4. linux caffe生成的模型,深度学习之pytorch转caffe转ncnn模型转换(三)

    搭建caffe平台: 先在Linux系统下搭建caffe环境,安装依赖包: sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy- ...

  5. PyTorch转Caffe模型

    PyTorch转Caffe模型 这里使用的工具来自:PytorchToCaffe,主体代码如下: PytorchToCaffe-master |--Caffe |           |--caffe ...

  6. pytorch转caffe的一些经历

    caffe是比较老的框架了,pytorch还不火的时候,还是比较流行的,有些比较著名的如人脸识别网络如centerloss,目标检测网络mtcnn.ssd,OCR识别都有对应的caffe版本.但有几个 ...

  7. pytorch转caffe步骤

    写在前面 来记录一下把用pytorch训练好的模型转成caffe去预测的步骤框架,代码只展现主要部分~ 步骤 保存pytorch参数名和权重.先把pytorch的参数名和权重存成词典,例如存到npy文 ...

  8. jittor 和pytorch的生成网络对比之aae

    代码对比 import torch.nn as nn from jittor import nn import torch import jittor as jt cuda = True if tor ...

  9. pytorch cpu gpu性能对比

    经过同样的模型预测对比 gpu比cpu快38倍左右. gpu需要16ms 0 863001 1 22000 2 15001 3 16999 4 18000 5 15000 6 17000 7 1699 ...

  10. python深度学习环境支撑列表 各版本对应关系,Keras,TensorFlow,pytorch ,caffe等。

    在我们进行深度学习时,需要安装各种各样的深度学习框架.下面将下各框架对应的关系. tensorflow keras pytorch 其他 原文网址地址 https://docs.floydhub.co ...

最新文章

  1. 阿里某员工哀叹:头条的文档太混乱!阿里的文档读起来舒服!
  2. Python进阶_wxpy学习:机器人对象
  3. [BUUCTF-pwn]——jarvisoj_level2_x64
  4. WF4.0 基础篇 (二十九) WorkflowInspectionServices
  5. Java集合之LinkedHashMap源码分析
  6. InfoQ观点:Java EE的未来
  7. MongoDB数据库操作---mongoose操作
  8. 为什么你成长这么慢?
  9. 输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m 转载
  10. Scrum Meeting day 2
  11. Linux 下串口编程入门教程
  12. linux efi分区安装grub2,GitHub - beatfan/UEFI_grub2: uefi 版本 grub2,可以引导多系统,以及linux的安装...
  13. win95光盘版安装方法
  14. Java基础Day04
  15. 安卓app里播放youtube视频
  16. Win10文件无法重命名
  17. 【2021 ICPC Gran Premio de Mexico 2da Fecha F】Flipped Factorization 题解
  18. 苹果ttc转ttf_ttf转ttc字体格式工具 ttctools
  19. SMARTFORMS更改打印纸张大小
  20. 1.1程序设计(C语言基础)

热门文章

  1. C和指针 第十六章 标准函数库 本地跳转setjmp.h
  2. webpack多页面构建优化不完全指北
  3. sql server2012 远程访问设置(转)
  4. 让html的text输入框只能输入数字和1个小数点
  5. python+selenium自动创建随笔
  6. 基于Redis实现分布式单号,分布式ID(自定义规则生成)
  7. python入门第二十五天--反射 通过字符串的形式操作对象中的成员
  8. [BZOJ5006][LOJ#2290][THUWC2017]随机二分图(概率+状压DP)
  9. cCupcake---ToFu
  10. Careercup - Facebook面试题 - 4907555595747328