• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
2014>
博客园    首页    新随笔    联系   管理    订阅  订阅
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
 返回张量沿指定维度最大的索引。

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

posted on 2020-10-22 14:45  2014>  阅读(298)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3