【Tensorflow入门教程一】纵观全局:tensorflow各函数块解析。

作为深度学习的最热门工具之一,Tensorflow可以为我们的模型搭建以及数据运算带来极大的便利。作为一门工具,必不可少地是要对它有一个全局的了解。私以为,如果对它的整体的模块架构有一个了解的话,再结合自己的兴趣与需要,能够节约更多的时间去思考自己的网络结构设计,完善更多细节。

登陆到tensorflow官网www.tensorflow.org,没有梯子的同学可以使用如下网站:devdocs.io,这个网站目前支持大部分的API接口的离线阅读,你只需要enable你需要的语言,然后install即可,绝对的查阅代码神器。从官网可以查阅到tensorflow的相关API。

从上图可以看到tensorflow中封装了许多的函数,其中主要介绍我们比较常用的一些模块:

tf ——tf模块下的函数用于完成一些常用的运算操作,比如说tf.abs(计算绝对值),tf.add(逐元素的相加),tf.concat(tensor的拼接)等等。里面的操作大部分的nu'mpy也能够实现,只是这里的操作相比于numpy都是针对tensor的。以及一些数据结构的定义,如tf.float32,tf.int64等等。该模块下一共有480左右的函数,感兴趣的可以看看。

tf.app——该模块下的函数只有一个,即`tf.app.run(main=None,argv=None)`,运行带argv参数的main函数。

tf.data——实现对数据集的操作,可以用来制作供tensorflow读取的数据集,其数据类型为tensor,并可以输出相应的TFRecord文件。

tf.distributions——实现统计学中的各种分布。该模块下的各函数用于实现统计学的各个分布,如伯努利、均匀分布、高斯分布等等。

tf.estimator——实现对模型的训练和评估。该模块下包含有tensorflow封装的多种分类器。

 

tf.gfile——对文件的操作。该模块下的函数可以实现文件I/O的操作以及拷贝、重命名等等。

tf.image——实现对图像的操作。该模块下的相关函数包含图像处理的功能,类似于opencv,有着图像亮度、饱和度、反相、裁剪、resize、图像格式转换(RGB TO HSV,YUV,YIQ,gray)旋转、sobel边缘检测等一系列功能,相当于一个小型的opencv图像处理包了。

tf.initializers——实现对权值等变量的初始化。该模块下有许多个初始化的类,用于对网络中的权值参数等进行初始化。

tf.keras——为tensorflow调用keras工具的一个python API,是一个比较大的模块,里面包含了网络的各种操作。

tf.layer——实现层与层之间的操作。该模块下是网络结构中的层与层之间的计算操作的实现,包含池化、卷积、反卷积、全连接、dropout、batch normalization等等功能。其中包含的功能与后面要介绍的tf.nn下的函数类似,不过貌似后者用得更多一点。

tf.losses——包含一些常用loss的使用。如sigmoid_cross_entropy,softmax_cross_entropy,hinge_loss,也可以通过add_loss来添加自己定义的loss函数。

tf.nn——完成层与层之间的运算操作。包含tf.layer中的大部分功能,如池化、卷积、BN、dropout、全连接,此外有多种激活函数的实现,如relu、leaky relu、 sigmoid等等。相比tf.layer,tf.nn下的函数貌似更常用一点。

tf.summary——用于记录训练过程中的参数。当我们训练一个模型的时候,往往需要了解它的参数训练过程,以及相应的loss走向,精度等等。而tf.summary这个模块可以将申明了tensor变量的值进行记录汇总。通过保存模型的方法,在训练完成后可以通过TensorBoard查看模型的相应参数。是一个在做研究时比较常用的模块。

tf.train——用于对网络的训练。该模块下包含多个优化算法,如SGD,Adagrad等等,用于整个模型的训练部分的优化过程。也是比较常用的一个模块。

tf.contrib——这是tensorflow的扩展模块,该模块下有许多tensorflow官方或者是民间大牛在维护的相应函数API,是一个比较庞大的资源库,里面有非常使用的函数,比如tensorflow的简化版slim,用slim写网络结构就非常方便。还有其他的一些,感兴趣的可以自行查阅。

 

以上就是我们在使用tensorflow时比较常用的一些模块了。其实看了这么多,对于需要用哪些大家心里也比较清楚了。不过tensorflow只是一个工具,关键还是在于算法的架构,理论才是重中之重。希望大家在平时也不要忘了对文献的阅读。

最后贴一张通过深度学习生成的艺术图:

 

 

如果你觉得有用,帮忙扫个红包支持一下吧:

 

 

 

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值