1. 程式人生 > >深度學習筆記(2)--slim框架

深度學習筆記(2)--slim框架

今天我發現一個tensorlfow框架--slim

它包裝了一些基本的tensorflow的操作:

比如說卷積:

layers=sli.conv2d(self.X,num_outputs=32,kernel_size=1,stride=[1,1])

比如說標準化處理

Bn1=sli.batch_norm(Fist_op)

還有

 weight=sli.variable(name='weights3',shape=[784,10],initializer=tf.truncated_normal_initializer(stddev=0.1))
#以及對這些引數進行共享
scopes:除了tensorflow中的name_scope和variable_scope, tf.slim新增了arg_scope操作,這一操作符可以讓定義在這一scope中的操作共享引數,即如不制定引數的話,則使用預設引數。且引數可以被區域性覆蓋。使得程式碼更加簡潔,如下:
  with slim.arg_scope([slim.conv2d], padding='SAME',
                        weights_initializer=tf.truncated_normal_initializer(stddev=0.01)
                        weights_regularizer=slim.l2_regularizer(0.0005)):
      net = slim.conv2d(inputs, 64, [11, 11], scope='conv1')
      net = slim.conv2d(net, 128, [11, 11], padding='VALID', scope='conv2')
      net = slim.conv2d(net, 256, [11, 11], scope='conv3')