资讯专栏INFORMATION COLUMN

python机器学习tensorflow1.0主要参数和svm算法

89542767 / 184人阅读

  此篇文章首要给大家介绍了python机器学习tensorflow1.0主要参数和svm算法,感兴趣的小伙伴可以参考借鉴一下,希望可以有一定的帮助,祝愿大家多多的发展,尽快涨薪。


  tf.trainable_variables()提取训练参数


  在tf中,参与训练的参数可用tf.trainable_variables()提取出来,如:


   #取出所有参与训练的参数
  params=tf.trainable_variables()
  print("Trainable variables:------------------------")
  #循环列出参数
  for idx,v in enumerate(params):
  print("param{:3}:{:15}{}".format(idx,str(v.get_shape()),v.name))


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


  sess=tf.Session()
  sess.run(tf.global_variables_initializer())

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


  具体实例


  #-*-coding:utf-8-*-
  """
  Created on Sat Jun 3 12:07:59 2017
  author:Administrator
  """
  import tensorflow as tf
  from skimage import io,transform
  import numpy as np
  #-----------------构建网络----------------------
  #占位符
  x=tf.placeholder(tf.float32,shape=[None,100,100,3],name='x')
  y_=tf.placeholder(tf.int32,shape=[None,],name='y_')
  #第一个卷积层(100——>50)
  conv1=tf.layers.conv2d(
  inputs=x,
  filters=32,
  kernel_size=[5,5],
  padding="same",
  activation=tf.nn.relu,
  kernel_initializer=tf.truncated_normal_initializer(stddev=0.01))
  pool1=tf.layers.max_pooling2d(inputs=conv1,pool_size=[2,2],strides=2)
  #第二个卷积层(50->25)
  conv2=tf.layers.conv2d(
  inputs=pool1,
  filters=64,
  kernel_size=[5,5],
  padding="same",
  activation=tf.nn.relu,
  kernel_initializer=tf.truncated_normal_initializer(stddev=0.01))
  pool2=tf.layers.max_pooling2d(inputs=conv2,pool_size=[2,2],strides=2)
  #第三个卷积层(25->12)
  conv3=tf.layers.conv2d(
  inputs=pool2,
  filters=128,
  kernel_size=[3,3],
  padding="same",
  activation=tf.nn.relu,
  kernel_initializer=tf.truncated_normal_initializer(stddev=0.01))
  pool3=tf.layers.max_pooling2d(inputs=conv3,pool_size=[2,2],strides=2)
  #第四个卷积层(12->6)
  conv4=tf.layers.conv2d(
  inputs=pool3,
  filters=128,
  kernel_size=[3,3],
  padding="same",
  activation=tf.nn.relu,
  kernel_initializer=tf.truncated_normal_initializer(stddev=0.01))
  pool4=tf.layers.max_pooling2d(inputs=conv4,pool_size=[2,2],strides=2)
  re1=tf.reshape(pool4,[-1,6*6*128])
  #全连接层
  dense1=tf.layers.dense(inputs=re1,
  units=1024,
  activation=tf.nn.relu,
  kernel_initializer=tf.truncated_normal_initializer(stddev=0.01),
  kernel_regularizer=tf.nn.l2_loss)
  dense2=tf.layers.dense(inputs=dense1,
  units=512,
  activation=tf.nn.relu,
  kernel_initializer=tf.truncated_normal_initializer(stddev=0.01),
  kernel_regularizer=tf.nn.l2_loss)
  logits=tf.layers.dense(inputs=dense2,
  units=5,
  activation=None,
  kernel_initializer=tf.truncated_normal_initializer(stddev=0.01),
  kernel_regularizer=tf.nn.l2_loss)
  #---------------------------网络结束---------------------------
  #%%
  #取出所有参与训练的参数
  params=tf.trainable_variables()
  print("Trainable variables:------------------------")
  #循环列出参数
  for idx,v in enumerate(params):
  print("param{:3}:{:15}{}".format(idx,str(v.get_shape()),v.name))
  #%%
  #读取图片
  img=io.imread('d:/cat.jpg')
  #resize成100*100
  img=transform.resize(img,(100,100))
  #三维变四维(100,100,3)-->(1,100,100,3)
  img=img[np.newaxis,:,:,:]
  img=np.asarray(img,np.float32)
  sess=tf.Session()
  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})


  最后一句话句子便是获取某层的数据传递做为特点。


  留意:这一程序流程并没经过训练,因而获取出来的主要参数仅仅复位的主要参数。


  综上所述,这篇文章就给大家介绍到这里了,希望可以给各位读者带来帮助。                                       

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128753.html

相关文章

  • python深度神经网络tensorflow1.0主要参数svm算法

      本文主要是给大家介绍了python深度神经网络tensorflow1.0主要参数和svm算法,感兴趣的小伙伴可以参考借鉴一下,希望可以有一定的帮助,祝愿大家尽可能不断进步,尽早涨薪  tf.trainable_variables()获取练习主要参数  在tf中,参加锻炼的主要参数可用tf.trainable_variables()分离出来,如:  #取出所有参与训练的参数   params=t...

    89542767 评论0 收藏0
  • 一个简单的案例带你了解支持向量机算法Python代码)

    摘要:什么是支持向量机支持向量机是一种有监督的机器学习算法,可用于分类任务或回归任务。支持向量机是一个最好地隔离两个类超平面或者说分类线的前沿算法。接下来,我们将讨论支持向量机如何工作。 showImg(https://segmentfault.com/img/remote/1460000019599694); 介绍 掌握机器学习算法并不是一个不可能完成的事情。大多数的初学者都是从学习回归开...

    Jrain 评论0 收藏0
  • ⭐openGauss数据库源码解析系列文章—— DeepSQL⭐

    ❤️‍大家好,我是Gauss松鼠会,欢迎进来学习啦~❤️‍ 上一篇介绍了 8.6 AI查询时间预测的相关内容,本篇我们介绍8.7 DeepSQL、8.8 小结的相关精彩内容介绍。 8.7 DeepSQL 前面提到的功能均为AI4DB领域,AI与数据库结合还有另外一个大方向,即DB4AI。在本章中,我们将介绍openGauss的DB4AI能力,探索通过数据库来高效驱动AI任务的新途径。 使用场景 ...

    Atom 评论0 收藏0
  • 机器学习算法基础(使用Python代码)

    摘要:机器学习算法类型从广义上讲,有种类型的机器学习算法。强化学习的例子马尔可夫决策过程常用机器学习算法列表以下是常用机器学习算法的列表。我提供了对各种机器学习算法的高级理解以及运行它们的代码。决策树是一种监督学习算法,主要用于分类问题。 showImg(https://segmentfault.com/img/remote/1460000019086462); 介绍 谷歌的自动驾驶汽车和机...

    BenCHou 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<