TensorFlow2.0笔记4:TensorFlow2.0的基础操作!

TensorFlow2.0的基础操作!

文章目录

    • 一. 数据容器
    • 二. What's tensor
    • 三. Tensor 类型
    • 四. 创建 tensor
    • 五. Tensor 属性
    • 六. 检查 tensor 类型
    • 七. 类型转换
      • 7.1. int 和 bool 之间转换
      • 7.2. tf.Variable() 和 tensor转换为numpy
    • 八. 创建Tensor
      • 8.1. 大纲
      • 8.2. numpy,list中得到tensor
      • 8.3. tf.zeros() 和 tf.zeros_like()
      • 8.4. Fill
      • 8.5. 随机初始化
        • 8.5.1. 正态分布normal
        • 8.5.2. 均匀分布uniform
      • 8.6. tf.constant
    • 九. 不同维度tensor数据的典型应用
      • 9.1. scalar 标量的典型应用:loss,accuracy
      • 9.2. Vector 向量典型应用: bias
      • 9.3. Matrix矩阵典型应用
      • 9.5. Dimension=4的tensor应用:图片
      • 9.6. Dimension=5的tensor应用:用的少,meta-learning
    • 十. 需要全套课程视频+PPT+代码资源可以私聊我!

一. 数据容器

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第1张图片

二. What’s tensor

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第2张图片

三. Tensor 类型

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第3张图片

四. 创建 tensor

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第4张图片

五. Tensor 属性

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第5张图片

六. 检查 tensor 类型

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第6张图片

七. 类型转换

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第7张图片

7.1. int 和 bool 之间转换

  • 很常见
TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第8张图片

7.2. tf.Variable() 和 tensor转换为numpy

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第9张图片
TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第10张图片

八. 创建Tensor

8.1. 大纲

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第11张图片

8.2. numpy,list中得到tensor

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第12张图片

8.3. tf.zeros() 和 tf.zeros_like()

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第13张图片
TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第14张图片

注意:介绍完了初始化全为0的方法之后,也可以初始化为全为1,或者任意一个常数。

  • tf.ones()
TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第15张图片

8.4. Fill

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第16张图片

8.5. 随机初始化

8.5.1. 正态分布normal

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第17张图片
TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第18张图片

8.5.2. 均匀分布uniform

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第19张图片
  • 应用:随机打散 random permutation,这个非常的常见。

例如: 给定一组图片 [64, 32, 32, 3 ]我们怎么把这64张图片随机的打散:首先我们生成一个0-63的索引,本来是顺序的[0,1,2,3…63], 然后打散比如 [1,7,8…] 等等;此外有一点需要注意,打散的时候原来每个照片索引相对应的标签再打散之后还是需要是对应的关系。如何实现呢?下面展示:

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第20张图片

8.6. tf.constant

  • 和tf.convert_to_tensor()功能有些重合。
TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第21张图片

九. 不同维度tensor数据的典型应用

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第22张图片

9.1. scalar 标量的典型应用:loss,accuracy

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第23张图片
TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第24张图片

代码演示:

In [1]: import tensorflow as tf                                                                                                            
In [2]: out=tf.random.uniform([4,10])                                                                                                      
In [3]: out                                                                                                                                
Out[3]: 
<tf.Tensor: id=6, shape=(4, 10), dtype=float32, numpy=
array([[0.88357687, 0.32258904, 0.07840157, 0.93425155, 0.69157064,
        0.3894565 , 0.3264054 , 0.7723907 , 0.97058046, 0.23372042],
       [0.4888407 , 0.11972976, 0.40817046, 0.89883673, 0.6751963 ,
        0.3385092 , 0.66311693, 0.6154913 , 0.67760134, 0.43396258],
       [0.28959072, 0.98543024, 0.14751756, 0.8581419 , 0.595019  ,
        0.3687029 , 0.9161774 , 0.18476939, 0.5543313 , 0.7288394 ],
       [0.75870466, 0.6590768 , 0.55011404, 0.6398536 , 0.61781406,
        0.7082771 , 0.618503  , 0.97928166, 0.35138845, 0.8519068 ]],
      dtype=float32)>
In [4]: y=tf.range(4)                                                                                                                      
In [5]: y                                                                                                                                  
Out[5]: <tf.Tensor: id=11, shape=(4,), dtype=int32, numpy=array([0, 1, 2, 3], dtype=int32)>
In [6]: y=tf.one_hot(y,depth=10)                                                                                                           
In [7]: y                                                                                                                                  
Out[7]: 
<tf.Tensor: id=16, shape=(4, 10), dtype=float32, numpy=
array([[1., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 1., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 1., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 1., 0., 0., 0., 0., 0., 0.]], dtype=float32)>
In [8]: loss=tf.keras.losses.mse(y,out)                                                                                                    
In [9]: loss                                                                                                                               
Out[9]: <tf.Tensor: id=20, shape=(4,), dtype=float32, numpy=array([0.33263168, 0.40248507, 0.47200695, 0.45164543], dtype=float32)>
In [10]: loss=tf.reduce_mean(loss)                                                                                                         
In [11]: loss                                                                                                                              
Out[11]: <tf.Tensor: id=23, shape=(), dtype=float32, numpy=0.41469228>

9.2. Vector 向量典型应用: bias

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第25张图片

9.3. Matrix矩阵典型应用

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第26张图片
TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第27张图片 ### 9.4. Dimension=3的tensor应用:自然语言处理
TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第28张图片
TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第29张图片

9.5. Dimension=4的tensor应用:图片

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第30张图片
import tensorflow as tf
from tensorflow.keras import layers

x=tf.random.normal((4,32,32,3))			
net=layers.Conv2D(16,kernel_size=3)		#卷积对象net,卷积核个数166,卷积核大小3×3
net(x)								    #tensor送入卷积
print(x.shape)

输出结果:

(tf2.0) zhangkf@john:~$ python 1.py 
(4, 32, 32, 3)

9.6. Dimension=5的tensor应用:用的少,meta-learning

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!_第31张图片

十. 需要全套课程视频+PPT+代码资源可以私聊我!

你可能感兴趣的:(Tensorflow,Deep,Learning)