首页 > 其他 > 详细

Tensorflow2.0-入门到进阶 第1章 Tensorflow简介与环境搭建

时间:2019-12-26 15:05:30      阅读:89      评论:0      收藏:0      [点我收藏+]

课程来源:https://coding.imooc.com/class/chapter/344.html#Anchor

本门课程的入门章节,简要介绍了tensorflow是什么,详细介绍了Tensorflow历史版本变迁以及tensorflow的架构和强大特性。并在Tensorflow1.0、pytorch、Tensorflow2.0之间做了对比。最后通过实战讲解了在Google cloud和AWS两个平台上的环境配置。

1-1课程导学

为什么要学Tensorflow?

深度学习迅猛发展;模型框架强大灵活;google+开源社区背书;在公司中应用广泛;2.0发布,机遇在手(相对于1.0,更加强大、灵活、易用、成熟)。

课程目标:

掌握灵活使用tensorflow框架的能力;

掌握相关的机器学习/深度学习的理论知识;

独立开发项目,掌握大厂一线编程经验;

达到初级深度学习算法工程师/研究者的水平。

课程特点:

重实战,请理论,配备多个特点项目(图像分类,房价预测,泰坦尼克生存预测,文本分类,文本生成,机器翻译);

内容丰富全面,自带“干货”(模型训练,tensorboard,模型保存与部署,分布式训练,Tfds/tfhub,tensor2tensor);

多平台云端环境GPU&kaggle数据集(google cloud环境配置,AWS环境配置,kaggle 10 Monkeys数据集,kaggle cifar10数据集,kaggle文本分类数据集,kaggle titanic生存预测数据集);

课程对使用TF1.0的学院也非常友好(原1.0学员可以轻松学习2.0,学习2.0的同学可以轻松读懂1.0代码);

课程长期维护(同步补充TF2.0正式版知识点,定期更新项目源码)。

课程章节:

第一章:tensorflow简介(tensorflow是什么、tensorflow历史、tensorflow vs pytorch。环境配置。);

第二章:tensorflow keras实战(tf框架:keras、回调函数。项目:图像分类、房价预测。知识点:分类问题、回归问题、损失函数;神经网络、激活函数、批归一化、dropout;wide&deep模型、超参数搜索。);

第三章:tensorflow基础API使用(tf框架:基础数据类型,自定义模型与损失函数、自定义求导、tf.function、图结构。项目:图像分类、房价预测。);

第四章:tensorflow dataset使用(tf框架:csv文件读取、tfrecord文件生成与读取、tf.data使用。项目:房价预测。);

第五章:tensorflow estimator使用与1.0(tf框架:estimator使用、特征列使用、tf1.0基本使用。项目:泰坦尼克生存预测。);

第六章:卷积神经网络(tf框架:卷积实现。项目:图像分类、kaggle 10monkeys,kaggle clifar10。理论:卷积、数据增强、迁移学习。);

第七章:循环神经网络(tf框架:LSTM实现。项目:文本分类、分本生成、Kaggle文本分类。原理:序列式问题、循环网络、LSTM、双向LSTM。);

第八章:tensorflow分布式(tf框架:分布式实现。项目:图像分类。);

第九章:tensorflow模型保存与部署(tf框架:模型保存、导出tflite、部署。项目:图像分类。);

第十章:机器翻译与tensor2tensor使用(tf框架:transformer实现、tensor2tensor使用。项目:机器翻译。理论:序列到序列模型、注意力机制、可缩放点积注意力、多头注意力)。

前五章是基础知识,后五章是高阶知识。

做完六个项目(机器翻译,图像分类,文本分类,文本生成,泰坦尼克生存预测,房价预测)应具有的能力:

问题建模的能力;特征工程的能力;搭建模型的能力。

本课程适合的人群:

想转行到深度学习方向的工程师;学习了理论但欠缺实践的深度学习starter;有志于、感兴趣深度学习的爱好者们;想快速做实验完成研究任务毕设任务的同学们。

本课程需要的基础:

python基础语法;

熟悉Linux环境;

了解机器学习与深度学习基础知识(有则更好,没有需要看完课程后系统学习)。

1-2tensorflow是什么

深度学习领域使用最为广泛的一个Google的开源软件库(最初由Google brain team进行开发的内部库,由于它的应用性Google决定把它开源出来):

采取数据流图,用于数值计算;

支持多种平台,GPU、CPU、移动设备;

最初用于深度学习,变得越来越通用(只要是能够表达成数据流图的问题,都可以使用tensorflow来进行解决,现在对于tensorflow的使用大多数还是深度学习)。

数据流图:

节点——处理数据;

线——节点间的输入输出关系;

线上运输张量(张量tensor就是所有的n维数据,所有的n维数据就构成了tensorflow中的数据的一个集合,对于0维数据来说它就是一个数字,对于1维数据来说他就是一个向量,对于二维来说就是一个矩阵,对于大于等于三维的数据统称为高维矩阵,正因为如此才命名为tensorflow,因为它是让tensor在数据流图中去进行流动);

节点被分配到各种计算设备上运行(它能够支持多种设备,只要把节点在某种设备上的执行算子写好就可以了)。

tensorflow的特性:

高度的灵活性(体现在数据流图上,只要能把数据的计算表示成数据流图就可以使用tensorflow,现在tensorflow主要用于神经网络,tensorflow对于神经网络的很多操作都进行了封装,比如像卷积、归一化、pooling等等,除了这些封装之外,还可以写自己的封装,像写一个python函数一样简单,写完以后就可以去做自己的事情了);

真正的可移植性(比如CPU、GPU、移动设备等等,比如说你在笔记本上训练了一个model,然后你想把它push到服务器上去进行运行,ok,tensorflow是可以支持的,但是你好像又改变注意了,你想把你训练的model保存出来跑到手机上,ok,tensorflow也可以支持,或者你有改变主意像把tensorflow部署到docker上在docker上运行,ok,这也是可以的,这样就体现了tensorflow它是移植性非常强大的一个库);

产品和科研结合(tensorflow研究最初是用于科研的,其实科研和工程还有一定的距离,科研的代码需要进一步各种各样的优化才能真正的做到产品上去,但是对于tensorflow则没有这个问题,Google团队把tensorflow优化的已经比较好了,做研究的代码可以无缝的用到产品上);

自动求微分;

多语言支持(tensorflow除了python以外,还支持各种各样的语言,比如说c++、java、javascript、R语言等);

性能最优化(在tensorflow刚刚出来的时候由于它运行的比较慢,很多深度学习库呢都会拿tensorflow来进行比较,然后来证明自己比tensorflow好多少倍,但是随着tensorflow一步一步的进行开发,这种情况一去不复返了,tensorflow现在应该是运行最快的一个库,对于分布式的tensorflow来说,它的加速比几乎是线性的)。

1-3tensorflow版本变迁与tf1.0架构

Tensorflow2.0-入门到进阶 第1章 Tensorflow简介与环境搭建

原文:https://www.cnblogs.com/wisir/p/12101848.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!