SLIM目录在哪

SLIM目录在哪,第1张

打开SLIM目录,将其中的ChickHEN目录拷贝到记忆棒中的Picture目录下。

原话应该是这样。SLIM是压缩文件里的,PSP里根本没有,你考出CHICKHEN到PICTURE下就可以了。

slim就是TensorFlow的简洁版。本篇就是介绍如何使用slim,因为自己也是刚开始接触TensorFlow,slim更是用得少,因此,本篇就当做是slim的学习记录,后面会不断更新。

先贴出slim的github,这里更详细

https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/slim

首先,导入,在安装TensorFlow时,slim包也一起安装了,因此不需要再安装。

基础 *** 作

slim是TensorFlow的简洁版,因此在实际 *** 作过程中要简单得多。

原生TensorFlow的一个卷积层:

在slim中:

inputs就是网络输入;

16是输出神经元个数;

[3,3]是该层卷积核大小

很简单!!更简单的是,Slim也提供了两个元运算符----repeat和stack,允许用户可以重复地使用相同的运算符。

上面可以替换为:

这就是slim.repeat的作用。

解释:3表示重复slim.conv2d这个 *** 作3次,每次输出神经元个数都是16,卷积核都是3*3;

那么,要用不同的参数怎么办?

可以用slim.stack:

输出神经元个数不同:

每层网络的输出神经元个数和卷积核都不同:

scope

除了tensorflow中自带的scope机制类型(name_scope, variable_scope)外, TF-Slim添加了一种叫做arg_scope的scope机制。这种scope允许用户在arg_scope中指定若干 *** 作符以及一批参数,这些参数会传给前面所有的 *** 作符中。如果后面不需要这种参数,可以重写,覆盖。

原始繁琐的 *** 作:

简单 *** 作:

嵌套 *** 作:

这里最外面的一层scope包含slim.conv2d和slim.fully_connected两个共有参数,里面一层scope则只包括slim.conv2d的参数。

下面来一个slim写的例子,vgg16的实现:

是不是特别精简?但其中包含的东西却很多,需要细细体会,还好之前走过原生TensorFlow的路。

这里特别要注意:

在最后一个全连接层中activation_fn=None,因为最后一层不需激活函数,而slim.fully_connected()是默认使用激活函数tf.nn.relu的,因此在网络模型最后一层中要添加activation_fn=None。

上面的这个vgg16网络就是slim内已经实现的网络,里面还有很多,可以直接拿来用,最好还是自己写一下,等有空了一定要全部自己重写一遍,先贴这里 https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/slim/python/slim/nets

目前我接触的就这些,后面还会碰到,等自己理解了再来更新吧!!

参考文章:

原po写得更多更详细,学习了

http://blog.csdn.net/guvcolie/article/details/77686555


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11688705.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存