axis=0 按列展开;axis=1 按行展开;
    tf.cast(x,dtype) dtype指明类型;函数用来强制转换类型;
    tf.reduce_min(张量名) 找张量维度上的最小值。
    tf.Gtf.GradientTape()
    train_db = tf.data.Dataset.from_tensor_slices((train_data, train_label)).batch(32)
    只有TensorFlow的变量才能自我更新,使用如下:
    w = tf.Variable(张量)
    w.assign_sub(同样形状张量)
    梯度计算

    1. import tensorflow as tf
    2. x = tf.Variable([1,2,3],dtype=tf.float32)
    3. y = tf.Variable([4,5,6],dtype=tf.float32)
    4. print(id(x))
    5. #x.assign_add(y)
    6. x= x+y
    7. print(id(x),end='')
    8. print(x)
    9. #x=x+y两者id(x)不同说明x新开了内存;
    10. #x.assign_sub(y)不会新开内存

    可以直接把numpy的数组当做张量转型,
    image.png
    这上面就是演示。
    但是上边就只能对tf的常量进行转化成numpy;
    tf.convert_to_tensor()是将各种python里边用到的值进行转换,转换成张量对象,能够接受列表,元组,numpy对象以及标量数据。
    tf.reshape()改变的张量的形状而不是数据类型和tf.cast()不一样。

    求梯度:
    自动梯度是tf的好把戏,
    with tf.GradientTape() as t:
    t.watch(x)
    y= 2*tf.matmul(tf.transpose(x),x)
    dy_dx = t.gradient(y,x)