Slim框架和Freeze old model模型学习百科

TF-Slim是Tensorflow中一个轻量级的库,用于定义、训练和评估复杂的模型。TF-Slim中的组件可以与Tensorflow中原生的函数一起使用,与其他的框架,比如与tf.contrib.learn也可以一起使用

使用方法:import tensorflow.contrib.slim as slim

因为建立,训练和评估模型更加简单,所以是轻量级

优点

l 允许用户通过减少模板代码使得模型更加简洁。这个可以通过使用argument scoping和大量的高层layers、variables来实现;

l 通过使用常用的正则化( regularizers)使得建立模型更加简单;

l 一些广泛使用的计算机视觉相关的模型(比如VGG,AlexNet)已经在slim中定义好了,用户可以很方便的使用;这些既可以当成黑盒使用,也可以被扩展使用,比如添加一些“multiple heads”到不同的内部的层;

l Slim使得扩展复杂模型变得容易,可以使用已经存在的模型的checkpoints来开始训练算法。

组成部分

TF-Slim由几个独立存在的组件组成,主要包括以下几个:

l arg_scope:提供一个新的作用域(scope),称为arg_scope,在该作用域(scope)中,用户可以定义一些默认的参数,用于特定的操作;

l data:包含TF-Slim的dataset定义,data providers,parallel_reader,和 decoding utilities;

l evaluation:包含用于模型评估的常规函数;

l layers:包含用于建立模型的高级layers;

l learning:包含一些用于训练模型的常规函数;

l losses:包含一些用于loss function的函数;

l metrics:包含一些热门的评价标准;

l nets:包含一些热门的网络定义,如VGG,AlexNet等模型;

l queues:提供一个内容管理者,使得可以很容易、很安全地启动和关闭QueueRunners;

l regularizers:包含权重正则化;

l variables:提供一个方便的封装,用于变量创建和使用。

定义模型

使用TF-Slim,结合variables, layers 和 scopes,模型可以很简洁地被定义详情: https://www.cnblogs.com/hejunlin1992/p/8082535.html
https://blog.csdn.net/cyiano/article/details/75006883
slim.batch_norm: https://blog.csdn.net/luccao/article/details/82857412
这个有参数含义:https://www.cnblogs.com/hellcat/p/8058092.html#_label1_0
https://www.cnblogs.com/adong7639/p/7904575.html