搭建你自己的深度通信网络:配置深度学习环境新手向教程

面向致力于传统通信结合深度学习的科研工作者的全网最优入门指南。


文章目录

  • 前言
  • 硬件配置
    • 硬件清单推荐:
  • 环境配置
  • 工具推荐
    • IDE
    • Anaconda

前言

随着深度学习浪潮的席卷,许多科研人员开始思考传统通信与深度学习的结合。然而习惯了Matlab下的仿真, python编程环境及各式框架的眼花缭乱成为了第一步的拦路虎。 笔者希望谨以此文, 帮助所有初次涉足这一领域的人避开各种坑和无谓的困扰,最简易上手, 快速复现经典著作,搭建属于自己的深度通信网络。

硬件配置


工欲善其事,必先利其器。

相比于计算机视觉(CV)和自然语言处理(NLP)等深度学习热门领域,大部分的深度通信网络并不需要大量卷积层,全连接层的堆叠,因此减小了对GPU的依赖,许多经典Demo在CPU下也能顺利运行。 然而, 在经费充足的情况下,配置一台GPU仍能大大提升调试网络的效率。在许多Demo中,速度相比CPU运行,可提升几十倍甚至几百倍。

硬件清单推荐:


  • CPU: i7-8700k及以上
  • 内存: 16G及以上
  • GPU: 1080Ti
  • 硬盘: 1T固态

CPU和GPU的功能毋庸置疑,直接决定了计算机的性能。 内存也很重要,直接关系到你可以一次扔进网络多大的Numpy数组,也影响到你用Matlab等生成样本时的效率。 固态硬盘则在你频繁使用save, load等读取存储大规模数据时将所需时间降低十倍以上。

出于成本的考虑,除非经费足够充足,否则不考虑多显卡。 不仅显卡的成本城北增加,还需要更好的主板,散热与电脑,对于个体工作者来说都是不小的开支,相比之下性价比极低。而停产的1080Ti在年后价格水涨船高,更优的显卡性价比之选可以参考此攻略。

环境配置


经过了初期的百家争鸣, 大浪淘沙之后,如今基本上是 TensorflowPytorch 二分天下。 没有贬低MXNet等框架的意思,但这确实是目前的大势所趋。

Pytorch 虽然在近一年中席卷科研界,但是笔者认为,Keras + tensorflow (最新出的Tensorflow2.0已经合并了keras)仍是搭建深度通信网络的不二之选,原因如下:

  • 相比于Pytorch, Tensorflow能支持复数张量。 这一点在通信中至关重要。
  • 相比于Pytorch, Tensorflow有更丰富的数学运算API,让你得以构建复杂的运算层。
  • Tensorflow 动态图+ keras的组合,在易用性方面已经绝不输于Pytorch。

综上, Tensorflow框架是笔者最为推荐的。

在配置GPU环境方面, 网上有太多过时的教程导致事半功倍,这里有一份全网最优的环境配置攻略,依步骤迅速搭建深度学习GPU环境。

工具推荐

  • IDE

    笔者认为,python最优的IDE只有一个,那就是Pycharm。 另一个经常被用于比较的Spyder,只是matlab的贫民版,实无一战之力。Pycharm丰富的功能可以这样描述:

    一切Spyder中能实现的,Pycharm中必能实现,只是可能你不知道。
    Pycharm中能实现的,有太多在Spyder中无法实现。

    Pycharm的下载攻略网上已有太多,这里不再赘述。

  • Anaconda

    最好的python版本与第三方库管理软件了。尤其是conda install,可以自动帮你下载许多相关的第三方库,事半功倍。全网最优的环境配置攻略在这个应用中就可以体现,Anaconda无与伦比的能力。

你可能感兴趣的:(python,深度学习,tensorflow)