python+tensorflow,python用tensorflow训练标准模型

  python+tensorflow,python用tensorflow训练标准模型

  这篇文章主要为大家介绍了大蟒深度学习张量流1.0参数和特征提取,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  

目录
TF。可训练变量()提取训练参数具体实例

  

tf.trainable_variables()提取训练参数

  在法国南部(法国南部领地的缩写)中,参与训练的参数可用tf.trainable _ variables()提取出来,如:

  #取出所有参与训练的参数

  params=tf.trainable _ variables()

  打印(可训练变量: -)

  #循环列出参数

  对于idx,枚举中的v(参数):

  print( param { :3 } : { :15 } { } .format(idx,str(v.get_shape()),v.name))

  这里只能查看参数的形状和姓名,并没有具体的值。如果要查看参数具体的值的话,必须先初始化,即:

  sess=tf .会话()

  sess。运行(TF。global _ variables _ initializer()

  同理,我们也可以提取图片经过训练后的值。图片经过卷积后变成了特征,要提取这些特征,必须先把图片饲料进去。

  

具体实例

  # -*-编码: utf-8 -*-

  创建于2017年6月3日星期六12:07:59

  @author:管理员

  将张量流作为法国南部(French Southern Territories的缩写)导入

  从撇除导入木卫一,转换

  将数组作为铭牌导入

  # - 构建网络-

  #占位符

  x=tf.placeholder(tf.float32,shape=[None,100,100,3],name=x )

  y_=tf.placeholder(tf.int32,shape=[None,],name=y_ )

  #第一个卷积层(100——gt50)

  conv1=tf.layers.conv2d(

  输入=x,

  过滤器=32,

  kernel_size=[5,5],

  填充=相同,

  激活=tf.nn.relu,

  内核初始化器=TF。truncated _ normal _ initializer(stddev=0.01))

  pool1=tf.layers.max_pooling2d(输入=conv1,pool_size=[2,2],步幅=2)

  #第二个卷积层(50-gt;25)

  conv2=tf.layers.conv2d(

  输入=池1,

  过滤器=64,

  kernel_size=[5,5],

  填充=相同,

  激活=tf.nn.relu,

  内核初始化器=TF。truncated _ normal _ initializer(stddev=0.01))

  pool2=tf.layers.max_pooling2d(输入=conv2,pool_size=[2,2],跨距=2)

  #第三个卷积层(25-gt;12)

  conv3=tf.layers.conv2d(

  输入=池2,

  过滤器=128,

  内核大小=[3,3],

  填充=相同,

  激活=tf.nn.relu,

  内核初始化器=TF。truncated _ normal _ initializer(stddev=0.01))

  pool3=tf.layers.max_pooling2d(输入=conv3,pool_size=[2,2],跨距=2)

  #第四个卷积层(12-gt;6)

  conv4=tf.layers.conv2d(

  输入=池3,

  过滤器=128,

  内核大小=[3,3],

  填充=相同,

  激活=tf.nn.relu,

  内核初始化器=TF。truncated _ normal _ initializer(stddev=0.01))

  pool4=tf.layers.max_pooling2d(输入=conv4,pool_size=[2,2],跨距=2)

  re1=TF。形状(池4,[-1,6 * 6 * 128])

  #全连接层

  dense1=tf.layers.dense(输入=re1,

  单位=1024,

  激活=tf.nn.relu,

  内核初始化器=TF。truncated _ normal _ initializer(stddev=0.01),

  内核_调节器=TF。nn。L2 _损失)

  dense2=tf.layers.dense(输入=dense1,

  单位=512,

  激活=tf.nn.relu,

  内核初始化器=TF。truncated _ normal _ initializer(stddev=0.01),

  内核_调节器=TF。nn。L2 _损失)

  logits=TF。层次。密集(输入=密集2,

  单位=5,

  激活=无,

  内核初始化器=TF。truncated _ normal _ initializer(stddev=0.01),

  内核_调节器=TF。nn。L2 _损失)

  # - 网络结束-

  #%%

  #取出所有参与训练的参数

  params=tf.trainable _ variables()

  打印(可训练变量: -)

  #循环列出参数

  对于idx,枚举中的v(参数):

  print( param { :3 } : { :15 } { } .format(idx,str(v.get_shape()),v.name))

  #%%

  #读取图片

  img=io.imread(d:/cat.jpg )

  #调整大小成100*100

  img=transform.resize(img,(100,100))

  #把三维变四维(100,100,3)-gt;(1,100,100,3)

  img=img[np.newaxis,]

  img=np.asarray(img,np.float32)

  sess=tf。会话()

  sess . run(TF . global _ variables _ initializer())

  #提取最后一个全连接层的参数W和B

  W=sess.run(params[26])

  b=sess.run(params[27])

  #提取第二个完全连接的图层的输出值作为特征

  fea=sess.run(dense2,feed_dict={x:img})

  最后一种说法是提取某一层的数据输出作为特征。

  注意:这个程序没有经过训练,所以提取的参数只是初始化参数。

  以上是python深度学习tensorflow1.0参数和特征提取的细节。更多关于python tensorflow参数特征提取的信息,请关注盛行IT软件开发工作室的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: