我所用过的深度学习框架

写在前面

深度学习有几个比较有名的平台框架,如早期的Theano,Caffe,如今比较火的Tensorflow,Pytorch,MxNet等,这些平台框架是从事机器学习、深度学习研究的重要工具。

Keras

我从2016年开始接触深度学习,早期试用过Caffe,因为当时网络上能搜索到的深度学习框架很有限(也有可能是我没搜到),而Caffe又是最火热的,但由于经常更换电脑,每一次都要重新安装配置一下环境,过于繁琐的环境安装与配置,让我很快就放弃了Caffe。

此时,无意之间,也不知道从哪个犄角旮旯里,听说了 Keras,当时还是个刚问世不久的新框架,网上的信息不多,不过貌似有个使用文档,现在应该还在维护 https://keras.io/zh/,有中文版的。印象中,最开始好像是英文的。

初次使用 Keras,直呼好家伙!为什么自己没有早点发现呢?这么简单好用的工具,竟然没被发现!事实上,我问了周围很多做深度学习的朋友同学,貌似没几个听说过 Keras的。不过没关系,做研究嘛,目标最重要,工具是其次,只要能实现目标,都是好工具。

一路走来,从最开始的 Keras1.0 到现在 Keras2.3,不敢说每个版本都用过,但至少都安装过。Keras最开始的后端用的是Theano,后来随着使用的人多了,名声大了,现在支持的后端也增加了,Tensorflow、MxNet都可。MxNet没安装过,不清楚,不过Tensorflow倒是不错,很好安装,也有CPU和GPU版本,使用起来很方便,环境配置也很简单。

但是,也要注意,Tensorflow 的版本和Keras版本,以及Python版本,要适配,选择用一个版本的Tensorflow,后期最好不要乱改,因为Tensorflow的版本有时候变化很大,很有可能,改版本之后,之前写的代码就会报莫名其妙的错误。所以,一个好的建议是都用固定的版本,这样就可以避免少出错。比较方便的是采用 Anaconda ,当要用其他版本时,新建一个conda环境,这样可以互不干扰。

我目前主要用的是Python3.6 + tensorflow-gpu 1.14.0 + Keras  2.2.0。本来我之前一直都是用Python2.7的,但决定采用Tensorflow做后端之后,就改成Python3.6版本了,因为貌似在Windows环境下Tensorflow不支持Python2.7,Python的环境需要在3.5以上,因此就顺势改了。但在Linux环境下,这个问题就不存在,因为我的Linux电脑(Ubuntu)就用的是Python2.7+tensorflow。

这些看起来都是小问题,但就是因为这些小问题,对于初学者,有时候能困上半天,白白浪费了大把时间。

Tensorflow与Pytorch

2019年的春夏,我一时心血来潮,突然想学习用用Tensorflow,可能一方面是因为有些函数,Keras实现起来很麻烦,没有Tensorflow灵活,而且训练效率貌似不高;另一方面可能是因为科研不顺,想捣鼓点其他东西,就当是给自己减压了。

实话来讲,Tensorflow 我用的不多,虽然买了几本书,试着编写了一些代码,也大致搞清楚了该怎么使用。但对我来讲,里面还是有各种问题,有时候遇到问题了,都不知道该怎么解决,网上的回答在不同的版本之间可能还不适用,种种问题,让我觉得 Tensorflow 还是比较难搞的。也有可能是习惯了Keras的简洁,一时难以适应。

如今,Tensorflow的使用人数很多,各行各业的都有,而且很多模型代码,都能够在github上找到,基本不用亲自编写,很方便。

与Tensorflow不同,我对Pytorch的学习纯粹是出于疫情,疫情在家实在无聊,就翻看github上的一些代码,想着能不能有个好的idea。可浏览了很多,发现很多最新的模型代码,基本上都是使用Pytorch实现的,而我并没有用过Pytorch,也不清楚它到底是个什么工作机制。这还了得!

于是,我就开始了Pytorch的学习,在网上大概看了看相关的介绍,明白了是个什么流程,就开始找个已有的案例进行边学边写,照猫画虎。这里,我分享一个自己学习代码的经验,就是不能只停留在看代码,而是要边看边写。很多时候,我们一看就懂,但自己却一写就错。所以,要理论与实践相结合,这样才能掌握的好。

Pytorch,我觉得还是比较好用的,代码也很容易看懂,有很多东西和Tensorflow比较相似,写起来也不复杂。可惜我没有那么多时间和精力了,不然我肯定会把之前所编写的代码,都用Pytorch重新写一遍,加强记忆也能达到学习的目的。

关于Tensorflow与Pytorch之间的异同,网上有很多介绍,很多我也不明白,所以这里就不瞎白话了。

写在最后

写这篇博客,纯粹是属于饭后无聊,随便瞎写。很多内容都是自己脑袋一热写的,没有仔细阅读文献资料,不够严谨。行文也没什么逻辑可言,想到哪就写到哪,但还好不涉及技术细节,所以就这样吧!

值得说一句,封面是我师弟在青海科考所拍,景色挺好!

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值