分享

学术沙龙第一讲|初识Tensorflow

 2016xing 2019-04-21



学术沙龙

首先隆重推出未来会与大家定期见面的
学术沙龙系列
在这个系列中,我们将从零开始,从深度学习框架的搭建开始,基于理论,落于实践,玩转深度学习
本节我们将介绍常用的深度学习框架,
Tensorflow安装,并结合例程具体介绍Tensorflow的基本代码格式与应用

常用深度学习框架的介绍 

目前较常用且经典的深度学习框架有Caffe、PyTorch、Tensorflow、Keras等,它们将训练过程所涉及的环节及数据统一抽象,形成便捷的框架。

是较早广泛流行的清晰且高效的开源深度学习框架,主要优势为:对于初学者容易上手,网络结构都是以配置文件形式定义,不需要用代码设计网络。训练速度快,组件模块化,可以方便的拓展到新的模型和学习任务上。但是 Caffe最开始设计时的目标只针对于图像,没有考虑文本、语音或者时间序列的数据,因此Caffe对于时间序列RNN,LSTM等的支持不是特别友好。

主要用于进行机器学习和深度神经网络的研究, 但它是一个非常基础的系统,与其说Tensorflow是一个深度学习框架,它更像是一个使用数据流图进行数值计算的开源软件库,可以应用于众多领域。

TensorFlow 是一个非常好的框架,但是却非常低层。使用 TensorFlow 需要编写大量的代码,你必须一遍又一遍地重复造轮子,搭建网络结构。总的来讲,TensorFlow是一个不完美但最流行的深度学习框架,社区强大,适合生产环境。

是一个高层神经网络API,由纯Python编写而成并使用TensorFlow、Theano及CNTK作为后端。Keras为支持快速实验而生,能够把想法迅速转换为结果。Keras是深度学习框架之中最容易上手的之一,它提供了一致而简洁的 API, 能够极大地减少一般应用中用户的工作量。

Keras的缺点也很明显,过度封装导致丧失灵活性,并且速度也较慢。学习Keras十分容易,但是很快会因为缺少灵活性遇到瓶颈。另外,在使用Keras的大多数时间里, 用户主要是在调用接口,很难接触到深度学习的真正内容。

2017年1月,Facebook人工智能研究院在GitHub上开源了PyTorch,并迅速占领GitHub热度榜榜首。PyTorch的设计追求最少的封装,尽量避免重复造轮子。PyTorch的源码只有TensorFlow的十分之一左右,更少的抽象、更直观的设计使得PyTorch的源码十分易于阅读。此外,PyTorch的便捷并未牺牲速度,在许多评测中, PyTorch的速度表现胜过TensorFlow和Keras等框架 。PyTorch无疑是更高阶更便捷的深度学习框架。

    在学术沙龙系列中,我们将基于TensorFlow展开,从简单底层的造轮子开始,从头搭建神经网络,较好的去认识深度学习的结构和实现。之后再掌握更高阶的API及框架。

TensorFlow 的安装 

这里仅提供CPU版的TensorFlow安装教程,GPU版请参考网上相关教程,首先完成cuda的安装再安装TensorFlow GPU版。

Anaconda3  python3.6 的安装 链接:https://repo./archive/

推荐安装Anaconda3环境,自带python的编译器及很多实用的库,建议加入环境变量, 方便操作。

    安装好Anaconda3后在cmd命令 中 pip install tensorflow 即可


自带 python2.7 

pip install 

https://storage./tensorflow/linux/cpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl

   也可与Windows系统操作相仿,首先安装Anaconda3 python3.6,再pip对应的TensorFlow版本即可

基本的TensorFlow介绍 


常用且最基础的TensorFlow函数如下

实现简单的线性函数模拟 

输出结果如下


可以看到,随机生成的权重和偏置向着训练模型收敛

输出结果如下

成功实现模拟了二次和三次函数曲线

  设置不同的激活函数,效果会有很明显的差异。

 例如使用relu时,可以发现拟合很快,并且是由很多小的线段组合拟合。而使用sigmoid及tanh时,模拟的曲线会平滑的多。

    后续还提供了使用简单的神经网络实现Mnist数据集上手写字的识别,详细代码请参考我们的GitHub链接如下: 

https://github.com/ZJUDeepLearning/ZJU_AI_Resource19/tree/master

P.S. 上述教程参考了B站莫烦TensorFlow教程:https://www.bilibili.com/video/av16001891

 文案|AI俱乐部学术部 邹智群

编辑|AI俱乐部信息部 赵益晟

校对|AI俱乐部信息部 陈思恒

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多