TensorFlow 学习笔记

267 阅读1分钟

TensorFlow常用函数

tf.cast(张量名,dtype) #强制转换

tf.reduce_min(name) #找到张量中最小值

tf.reduce_max(name) #找到张量中最大值

tf.reduce_mean(name,axis=0/1) #找到张量中沿着纵向(0)或者横向(1)求平均值

tf.reduce_sum(name,axis=0/1) #找到张量中沿着纵向(0)或者横向(1)求和

不指定axis对所有元素进行运算

tf.Varibale(表达式) #标记为可训练

加减乘除: tf.{add,subtract,multiply,divide}

平方次方开方:* tf.{square,pow,sqrt}*

矩阵乘法: tf.matmul()

tf.data.Dataset.from_tensor_slices(输入特征,标签)

tf.GradientTape()

常常使用tf.Variable() 配合使用实现对损失函数loss对参数w求导计算

with  tf.GradientTape() as tape:
    w=tf.Varibale(tf.constant(3.0))    
    loss=tf.pow(w,2)
grad=tape.gradient(loss,w)

求w的二阶导数6 解析

grad=tape.gradient(函数,对谁求导)

enumerate(列表名) 枚举 返回值两个 索引号,元素

for  i , num in enumerate(res):
    print(i,num)

tf.one_hot(待转换数据,分几类)

tf.nn.softmax(x) 实现对数据的概率化转换

tf.assign{(),_sub(),_add()} 在assign之前必须是Variable实现的是自更新运算

tf.assign(x,y) 赋值

tf.assign_add(x,y) 加法

tf.assign_sub(x,y) 减法

tf.argmax(name,axis=0/1) #找到张量中沿着纵向(0)或者横向(1)求最大值的索引

tf.argmin(name,axis=0/1) #找到张量中沿着纵向(0)或者横向(1)求最小值的索引