• Tensorflow2的基本用法


    张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数)->得到模型。

    张量(tensor):多维数组(列表)                 阶:张量的维数。

    数据类型: tf.float32        tf.int32         bool   string 

    创建张量的4种方式
    
    1.
    
    Constant(恒定,在应用中该类型的变量通常是只读,不可修改的)张量
    
    constant (张量的内容,dtype=数据类型(可选))
    
     
    
    2 . tf. convert_to_tensor(数据名,dtype=数据类型(可选))
    
    (转换)
    3.创建全为0的张量 tf.zeros(纬度) 创建全为1的张量 t f.ones(纬度) 创建全为指定值的张量 tf.fill(维度,指定值) 一维 直接写个数 二维 用[行,列] 4. 生成正态分布的随机数,默认均值为0,标准差为1 tf.random.normal(维度,mean=均值,stddev=标准差) 生成截断式正态分布的随机数: tf.random.truncated_normal(维度,mean=均值,stddev=标准差) 生成均匀分布随机数 tf.random.uniform(维度,minval=最小值,maxval=最大值)

    计算图:graph:搭建神经网络的计算过程,只搭建,不运算。

    参数是指—>线上的权重w,用变量表示。随机给初值

    常用函数:
    1.强制数据转化数据类型。
    tf.cast(张量名,dtype=数据类型)
    2.计算张量维度上元素的最小值
    tf.reduce_min(张量名)
    3.计算张量维度上元素的最大最。
    tf.reduce_max(张量名)
    4.axis
    =0 对一个维度进行操作
    =1 对第二个维度操作
    5.计算张量沿着维度的平均值
    tf.reduce_mean (张量名,axis=操作轴)
    6.计算张量沿着指定维度的和
    tf.reduce.sum(z张量名,axis=操作轴)
    7.tf.Variable(初始值)
    可以将变量标记为“可训练”,被标记的变量会在反向传播中记录梯度信息,神经网络训练中,通常用该函数标记待训练的参数。
    tf.Variable(初始值)
    w=tf.Variable(tf.random,normal([2,2],mean=0,stddev=1))
    
    8.tf.data.Dataset.from_tensor_slices
    切分传入张量的第一维度,生成输入特征/标签对,构建数据集
    data=tf.data.Dataset.from_tensor_slices(输入特征,标签))
    9.tf.GradientTape 
    gradient求出张量的梯度
    with tf.GradientTape( ) as tape:
            若干个计算过程
      gard=tape.gradient(函数,对谁求导)
    10.enumerate
    Enumerate是python的内建函数,他可以遍历每个元素(如列表,元祖或字符串),组合为:索引 元素,常在for循环中使用
    
    enumerate(列表名)
    
    11.
    Tf.one_hot:在分类问题中,常用独热码做标签,
    标记类别:1表示是,0表示非。
    
    tf.one_hot(带转换数据,depth=几分类)
    
    12.
     tf.nn.softmax
    
    
    tf.nn.softmax(x)使输出符合概率分布。
    
    13.assign_sub
     赋值操作,更新参数的值并返回
    调用assign_sub前,先用tf.Variable定义变量w为可训练(可自更新)。
    w.assign_sub(w要自减的内容)
          
    14. tf.argmax
     返回张量沿指定维度最大的索引。

     关于学习率:不要太大。太大会在最优模型左右摇摆。太小会叠代太多次

  • 相关阅读:
    Error Creating Deployment 有关Tomcat配置问题
    XML约束
    动态代理的一些问题。
    内部类的原理理解
    子父类覆盖方法和实现接口时牵扯到的细节问题。
    JavaSE 复习_4 接口多态和内部类
    JavaSE复习_3 继承
    JavaSE复习_2 对象与类
    JavaSE复习_1 Java的基本格式和运算符
    Linux 添加用户(user),组(Group)以及权限(Permission)
  • 原文地址:https://www.cnblogs.com/2014slx/p/13858223.html
Copyright © 2020-2023  润新知