tensorflow2.0

tensorfolw2.0

  • pytorch的默认格式是[b,h,w,c];tensorflow的默认格式是[b,c,h,w]
  • 数据类型
  • 创建tensor
  • 索引与切片
  • 维度变换

pytorch的默认格式是[b,h,w,c];tensorflow的默认格式是[b,c,h,w]

  • 把a数据从pytorch转到tensorflow可以用 tf.transpose(a,[0,3,1,2])

数据类型

  • 一般常用 .is_tensor 或.dtype 确定数据类型,有时也可以使用 .isinstance

tensorflow2.0_第1张图片

  • 可以通过 .ndim 获取数据的维度
  • 判断大小可以用 .rank 或 .shape

tensorflow2.0_第2张图片- 类型转换可以用 .convert_to_tensor 或 .cast

tensorflow2.0_第3张图片- 使用 tf.Variable 记录梯度信息
tensorflow2.0_第4张图片

创建tensor

  • 可以使用 .zeros.ones 创建全零或全1的tensor,其中一个用法是使用 tf.zeros_like(a) 创建一个shape为a的全零的tensor

  • 可以使用 tf.fill([a,b],c) 函数创建一个大小为[a,b]全 c 矩阵

  • 可以使用 tf.random.normal 函数随机初始化 参数 mean均值 ; stddev方差。若不指定,则默认是均值为0,方差为1的标准正太分布

  • 但一般使用 tf.random.truncated_normal 函数初始化,该函数区别与上面的函数,当值接近下图红色部分的时候会舍弃,重新采样,这样是梯度不那么平缓,效果一般比直接使用 tf.random.normal 要好

tensorflow2.0_第5张图片

tensorflow2.0_第6张图片- 可以使用 tf.random.uniform 函数进行均匀分布的初始话,minval=0和maxval=1 代表是在0,1 之间均匀采样

tensorflow2.0_第7张图片

  • 可以使用 .constant 函数直接创建 tensor

tensorflow2.0_第8张图片

索引与切片

  • 双冒号 ::
    • 代表最后一个冒号后为步长,表示隔多少采样 即 start : end : step
      tensorflow2.0_第9张图片
  • 可以通过 tf.gather 函数获取索引是数值,如下例所示,将获得 a 数组中 axis 维度上 indices 索引的值
  • 可以使用tf.gather_nd函数获取两个数组中的值

tensorflow2.0_第10张图片- 可以通过 tf.boolearn_mask 函数通过 true或false 取指定位置的值

tensorflow2.0_第11张图片

维度变换

  • 使用 tf.expand_dims(a,axis) 使 a数组axis 增加一个维度

tensorflow2.0_第12张图片- 通过 tf.squeeze 函数 删除 axis上大小为1维度
tensorflow2.0_第13张图片

你可能感兴趣的:(opencv,计算机视觉,python)