tensorflow高级API:Slim使用入门
终于想起来我的csdn密码了(好吧其实是懒)
————————分割线——————————
今天开始进入tensorflow的高级阶段——Slim。
Slim是Tensorflow在0.10版中新加入的一个用于定义、训练和评估较为复杂模型的轻量级开发类库,能大量地减少程序重复性的模板性程序代码的编写,让代码更加简洁。这主要得益于其在实际程序设计时使用了大量的“命名空间”(argument scoping)和不同层的变量。
此外,Slim提供了大量常用的简化模型可以直接调用,比如前面用到的AlexNet和VGG。
大纲:
- Slim中变量的使用
- Slim中层的使用
- Slim中参数空间的使用
Slim中变量的使用
在经典的tensorflow程序中,变量分为“普通变量”和“模型变量”。大多数的变量是普通变量,可以被创建并且在整个程序运行周期内传送,在需要的情况下可以被存储到硬盘上。使用方法如下:
import tensorflow.contrib.slim as slim
import tensorflow as tf
#Regular variables
my_var = slim.variable('my_var',
shape=[20, 1],
initializer=tf.zeros_initializer())
variables = slim.get_variables()
with tf. Session() as sess:
sess.run(tf.global_variables_initializer())
print(sess.run(my_var))
print("-------------")
print(sess.run(variables))
结果请自行打印.
而模型变量在发挥其作用之后会立刻被销毁,比如global_step、bn层中用到的均值与方差等。
其使用方法如下:
import tensorflow.contrib.slim as slim
import tensorflo