文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

tensorflow运行mnist的一些

2023-01-30 22:59

关注

 

最近在tensorflow环境下用CNN来实现mnist,里面设计了一些tensorflow的函数,在之后的学习中肯定会经常使用,因此记录整理下来。

      函数如下,现将函数名列在此,后面进行详细分析:

          tf.truncated_naomal()

          tf.Variable()

          tf.reshape()

          tf.matmul()

          tf.muitiply()

          tf.reduce_sum()

          tf.reduce_mean()

具体分析:

tf.truncated_normal(shape, mean, stddev) 

           shape表示生成张量的维度

           mean是均值

           stddev是标准差

           这个函数产生正态分布,均值和标准差自己设定。这是一个截断的产生正太分布的函数,就是说产生正态分布的值如果与均值的差值大于两倍的标准差,那就重新生成,和一             般的正太分布的产生随机数据比起来,这个函数产生的随机数与均值的差距不会超过两倍的标准差

tf.Variable(initializer,name)

          参数initializer是初始化参数

          name是可自定义的变量名称

          例如     v2=tf.Variable(tf.constant(2),name='v2')

tf.reshape(tensor, shape, name=None)

          第1个参数为被调整维度的张量

          第2个参数为要调整为的形状,注意shape里最多有一个维度的值可以填写为-1,表示自动计算此维度    

x = tf.placeholder("float", shape=[None, 784])
x_image = tf.reshape(x, [-1, 28, 28, 1])

tf.matmul(a, b, transpose_a=False, transpose_b=False, adjoint_a=False, adjoint_b=False, a_is_sparse=False, b_is_sparse=False, name=None)

         将矩阵a乘于矩阵b-------矩阵相乘

         transpose_a: 如果为真, a则在进行乘法计算前进行转置。 
         transpose_b: 如果为真, b则在进行乘法计算前进行转置。 
         adjoint_a: 如果为真, a则在进行乘法计算前进行共轭和转置。 
         adjoint_b: 如果为真, b则在进行乘法计算前进行共轭和转置。 
         a_is_sparse: 如果为真, a会被处理为稀疏矩阵。 
         b_is_sparse: 如果为真, b会被处理为稀疏矩阵。 
         name: 操作的名字(可选参数)

注意:1 输入必须是矩阵(或者是张量秩 >2的张量,表示成批的矩阵),并且其在转置之后有相匹配的矩阵尺寸

           2 两个矩阵必须都是同样的类型,支持的类型如下:float16, float32, float64, int32, complex64, complex128

tf.multiply(x, y, name=None) 

      x: 一个类型为:half, float32, float64, uint8, int8, uint16, int16, int32, int64, complex64, complex128的张量。 
      y: 一个类型跟张量x相同的张量。

      1 multiply这个函数实现的是元素级别的相乘,也就是两个相乘的数元素各自相乘,而不是矩阵乘法

      2 两个相乘的数必须有相同的数据类型,不然就会报错

tf.reduce_sum(tensor, axis = None, keep_dims = False, name = None)

      此函数用于降纬相加,

      tensor-输入的张量   

      axis-要求和的 rank,如果为 none,则表示所有 rank 都要求和

      keep_dims-如果为真,则求和之后不降纬

      心得:如果输入张量的维度为n,则axis的取值为0 - (n-1)

      例如:用下面代码进行测试

     

import tensorflow as tf
import numpy as np
#生成形状为2*2*3的三维数据
x = np.asarray([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
x_p = tf.placeholder(tf.int32,[2,2,3])
#修改下面的值
#axis=0    对第一纬进行相加,降纬
#axis=1    对第二纬进行相加,降纬
#axis=2    对第三纬进行相加,降纬
#axis=[0,1,2]    对第所有纬进行相加,降纬
#axis=None    效果同上,降纬
#axis=0 keep_dims = True    对第一纬进行相加,不降纬
y =  tf.reduce_sum(x_p,0)
with tf.Session() as sess:
    y = sess.run(y,feed_dict={x_p:x})
    print y

输出结果依次是:

           

           

           

           

           

           

tf.reduce_mean(tensor, axis = None, keep_dims = False, name = None)

         此函数与tf.reduce_sum()类似

         axis-要求平均的 rank,如果为 none,则表示所有 rank 都要求平均

         keep_dims-如果为真,则求和之后不降纬

         心得:如果输入张量的维度为n,则axis的取值为0 - (n-1)

         例如:用下面代码进行测试

     

import tensorflow as tf
import numpy as np
#生成形状为2*2*3的三维数据
x = np.asarray([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
x_p = tf.placeholder(tf.int32,[2,2,3])
#修改下面的值
#axis=0    对第一纬进行求平均,降纬
#axis=1    对第二纬进行求平均,降纬
#axis=2    对第三纬进行求平均,降纬
#axis=[0,1,2]    对第所有纬进行求平均,降纬
#axis=None    效果同上,降纬
#axis=0 keep_dims = True    对第一纬进行求平均,不降纬
y =  tf.reduce_mean(x_p,0)  #修改此处的参数
with tf.Session() as sess:
    y = sess.run(y,feed_dict={x_p:x})
    print y

输出结果为:
       

       

       

       

       

       

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯