20220825 -

在前期,一直是使用keras进行深度学习相关的编程,但后来由于学习各种其他源码的缘故,也学习了pytorch的相关方式。使用之后发现,有时候如果对各种损失函数进行深层次的编写的时候,采用pytorch会更方便。因此便查阅了两者的区别和优势,具体见文章[1]。

但是在介绍别人文章的时候,先简单说一下自己的感受。

在学习keras的时候,看别人的代码,进行模型编程的时候,普遍采用序列式或者函数式的形式,这两种也是我平时采用比较多的,模型比较简单简单不需要多输入多输出,那么采用序列式的形式,而如果模型中包含了多输出,那么就需要采用函数式的编程形式。而在学习pytorch的时候,见到的更多的方式,就是定义一个类,这个类实现了你神经网络的结构,在网上看到的好多源码都是这种形式。当然keras也是支持这种类编程形式的,而且torch也支持序列式的编程,平时我这里使用比较少。关于keras的三种编程方式,可以见文章[2],该文章同时对比了三种形式的不同,见下面的图片。

那么在平时的时候,两种编程框架除了这种模型构造的过程的不同,另外一个对我来说比较关键的部分,在模型训练过程,最早的时候也接触过tensorflow的形式,pytorch的训练方式和tensoflow很像,在训练过程中,需要自己来按次,并控制损失函数进行训练。这是平时频繁使用的方式中,对我来说两者最大的不同了。

当然,keras自身也支持这种形式,自己来控制训练的过程,但平时都是直接划分好数据集之后,一行.fit完事。在学习初期,由于keras的封装比较好,比如前面说的训练过程,那么比较简单的模型,不需要我在自己撰写训练过程的内容,直接利用他定义好的损失函数,几行代码就可以了。这也是我最早的时候进行的方式,比较复杂一点的,就自定义一个函数来设计自己的损失函数。

那么对我来说第二个不同,损失函数的定义过程,pytorch编程过程中,会对每次训练的数据都有接触,那么可以针对这部分具体进行计算,计算好之后返回即可。这里也是有所不同。

不过,从本质上来讲,keras也能实现这种过程,只不过可能使用起来不够灵活。以上属于我平时不同的使用习惯下,对两种框架的不同见解,具体两者不同,可以见文章[1],下面列举出来他提供的一个对比表格。

参考

[1]Keras vs PyTorch: Which ML Framework Should You Learn?
[2]3 Ways to Build Neural Networks in TensorFlow with the Keras API

Pytorch与keras的差别相关推荐

  1. 使用netron对TensorFlow、Pytorch、Keras、PaddlePaddle、MXNet、Caffe、ONNX、UFF、TNN、ncnn、OpenVINO等模型的可视化

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 使用netron对TensorFlow.Pytorch.Keras.PaddlePaddle.MXNet.Caffe.O ...

  2. keras cnn注意力机制_TensorFlow、PyTorch、Keras:NLP框架哪家强

    全文共3412字,预计学习时长7分钟 在对TensorFlow.PyTorch和Keras做功能对比之前,先来了解一些它们各自的非竞争性柔性特点吧. 非竞争性特点 下文介绍了TensorFlow.Py ...

  3. DL框架:主流深度学习框架(TensorFlow/Pytorch/Caffe/Keras/CNTK/MXNet/Theano/PaddlePaddle)简介、多个方向比较、案例应用之详细攻略

    DL框架:主流深度学习框架(TensorFlow/Pytorch/Caffe/Keras/CNTK/MXNet/Theano/PaddlePaddle)简介.多个方向比较.案例应用之详细攻略 目录 深 ...

  4. 【CV】YOLOv4最全复现代码合集(含PyTorch/TF/Keras和Caffe等)

    前言 2020年4月24日,CVer第一时间推文:大神接棒,YOLOv4来了! 2020年6月28日,CVer第一时间推文:YOLOv4-Tiny来了!371 FPS! 距离YOLOv4正式推出,已经 ...

  5. 【过一下 17】pytorch 改写 keras

    任务 pytorch自建模型转keras 想法 有pytorch的自建模型代码 可以一行一行的找到keras里相应的层去代替(手工转写 Pytorch转keras的有效方法,以FlowNet为例_咆哮 ...

  6. 上手必备!不可错过的TensorFlow、PyTorch和Keras样例资源

    作者 | 黄海广来源 | 机器学习初学者(ID: ai-start-com)TensorFlow.Keras和PyTorch是目前深度学习的主要框架,也是入门深度学习必须掌握的三大框架,但是官方文档相 ...

  7. 纠结pytorch, tensorflow, keras 一个月之后,我自己创造了一个神经网络框架

    深度学习神经网络正步入成熟,而深度学习框架目前众多,大都可以在图像识别.手写识别.视频识别.语音识别.目标识别和自然语言处理等诸多领域大显身手. 深度学习框架平台占据人工智能产业生态的核心地位,具有统 ...

  8. 强烈推荐的TensorFlow、Pytorch和Keras的样例资源(深度学习初学者必须收藏)

    TensorFlow.Keras和Pytorch是目前深度学习的主要框架,也是入门深度学习必须掌握的三大框架,但是官方文档相对内容较多,初学者往往无从下手.本人从github里搜到三个非常不错的学习资 ...

  9. scikit keras_Scikit学习,TensorFlow,PyTorch,Keras…但是天秤座呢?

    scikit keras Welcome all! In the first episode of this series, I investigated the four most known ma ...

最新文章

  1. 王爽老师的汇编语言 实验8 jmp是如何实现跳转的
  2. springboot-cache的简单使用
  3. 组会PPT20201030《复现chen结果及初始密度影响》
  4. 相机裁剪旋转_怎么旋转视频画面角度
  5. mysql+使用swap_MySQL避免使用SWAP
  6. 即时通讯成为热门传播媒体
  7. Python - 列表与字典相互转换
  8. CriminalIntent项目开发
  9. nlp自然语言处理_NLP自然语言处理基础
  10. python爬虫与反爬虫
  11. 爬虫需谨慎,你不知道的爬虫与反爬虫套路!
  12. 2021-2027全球与中国3D产品可视化平台市场现状及未来发展趋势
  13. Python 《Python 实现 2048 游戏》实验报告
  14. InnoSetup教程
  15. QT之CheckBox单项选择与多项选择
  16. mac版本Beyond Compare如何一直试用
  17. 战地5离线bot模式_战地2单机怎么增加BOT?
  18. 【Qt开源项目推荐】完美的Dock窗口布局解决方案 Qt-Advanced-Docking-System
  19. ros 启动建图/导航-- Request for map failed; trying again...
  20. 阿里云虚拟主机不支持MP4格式文件,网页视频打不开

热门文章

  1. 安卓app+esp8266+51单片机+光敏电阻+lcd1602实现智能照明系统
  2. Mix XDI V1.1 - Golang DI、IoC 依赖注入容器
  3. HDFS入门和应用开发:实战微博HDFS案例(上)
  4. 用MFC做漂亮界面之登录界面
  5. 4G DTU之 MODBUS设置
  6. PA系列—CB2401,完美替代RFX2401C
  7. 刺激战场S6新赛季灵敏度终于来啦:最强教程手把手教你调
  8. python协程和线程区别_python中的线程和协程之间有什么区别
  9. Python如何删除numpy数组中指定值的元素
  10. iis配置-- 安装步骤(最新 超详细 图文)