TensorFlow-Slim解析

版权声明:本文为博主原创文章,原文链接地址: http://blog.csdn.net/eric_doug https://blog.csdn.net/eric_doug/article/details/79950831

TensorFlow-Slim解析

TensorFlow-Slim,是TensorFlow中旨在完成代码瘦身的库,能够定义、训练、和评估复杂的模型。同时,它能够与原生的Tensorflow兼容。接下来,本文将根据Slim的英文文档和源码进行解析。

使用方法

在Python中,可以采用如下代码引入slim库

import tensorflow.contrib.slim as slim

使用TF-Slim目的

TF-Slim是能够使构建、训练和评估神经网络变得简单:

  • 它能够使定义模型更加简洁。我们可以通过使用argument scoping和高级的以及变量使定义网络,这样不仅可以提高代码可读性和可维护性,降低拷贝超参数带来的错误。

  • 使用公共使用的regularizers开发模型更加简单。

  • 大多数视觉模型使用slim开发,例如VGG、AlexNet,同时可以在官方开源代码nets中获得。

  • Slim使扩展复杂网络变得简单,这样可以在已训练网络的checkppoints基础上进行训练。

TF-Slim组件

arg_scope

TF-Slim提供新的名字作用域,叫做参数作用域,它允许用户对指定的操作使用作用域定义默认的参数。

data

TF-Slim提供读取不同格式的数据加载库。TF-Slim的data模块包括各种

evaluation

它包含常规的模型评估方法。

layers

它包含对TensorFlow內建构造模型的高级抽象layer

learning

包含常见的训练模型

losses

包含常用的的损失函数

metrics

包含比较流行的评估策略

nets

包含比较流行的网络,例如VGG、AlexNet模型

queues

它提供能够便捷安全地启动和关闭队列的上下文管理器

reqularizers

它包含权重的正则器。

variables

它提供变量的创建和操作的简便封装。

定义模型

变量

作用域

实践:VGG16

训练模型

损失

迭代次数

实践: 训练VGG16模型

微调训练

模型评估

参考文献

1. 辅助工具篇——tensorflow slim(TF-Slim)介绍

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页