2020.09.18补充
今天处理一个数据用到了np.repeat()
备注一下,这个只能处理二维数组
比如我想对a = [1,2,3]使用,让它竖着重复几次

处理不了一维,会报错
np.repeat(a.T, repeats=k次, axis=1)要先expand_dims变成二维的才行
np.repeat(np.expand_dims(a, axis=0).T, repeats=k次, axis=1)

今天看代码用到了tf.repeat()

查了下资料没有人专门讲解这个,我来写一下,希望能帮到后人。


官方文档:

https://www.tensorflow.org/api_docs/python/tf/repeat?hl=ca


调用该方法:

tf.repeat(input, repeats, axis=None, name=None)

参数:
1)input: 一个tensor

2)repeats: 重复的次数
注意:len(repeats) must equal input.shape[axis] if axis is not None

3)axis:维度
这个看例子来理解
说明:An int. The axis along which to repeat values. By default (axis=None), use the flattened input array, and return a flat output array.
如果axis没有参数,则会先flatten数组,变成一维再重复

例子3:

tf.repeat([[1, 2], [3, 4]], repeats=[2, 3], axis=1)-input第0个元素重复2次-input第1个元素重复3次
[[1, 1, 2, 2, 2],[3, 3, 4, 4, 4]
]tf.repeat([[1, 2], [3, 4]], repeats=[2, 3], axis=0)-input第0个元素重复2次-input第1个元素重复3次
[[1, 2],[1, 2],[3, 4],[3, 4],[3, 4]
]

简单记忆的话,axis = 1横着增加,axis = 0竖着增加


例子1:
先看最简单的一维的

temp = tf.constant([1,2,3])
tf.Tensor: shape=(1, 3), dtype=int32, numpy=array([[1, 2, 3]], dtype=int32)tf.repeat(input = temp, repeats=3, axis = 0)
输出:
[1, 1, 1, 2, 2, 2, 3, 3, 3]
每个数重复了3次

当输入不是一维,但是没有赋值axis, 输入会被拍平成一维的

temp1 = tf.constant([[1,2],[3,4]])
tf.repeat(input = temp1, repeats = 2)
输出:
[1,1,2,2,3,3,4,4]

例子2:

temp3 = tf.const([[1],[2],[3]])
temp3.shape ---> (3,1)

上面说到 len(repeats) = input.shape[axis]

所以在这个例子里必须满足:
temp3.shape[axis = 0] = 4 = len(repeats)
temp3.shape[axis = 1] = 1 = len(repeats)1) 当axis = 0
tf.repeat(temp3, repeats = [1,2,3], axis = 0)
输出:
[
[1],
[2],
[2],
[3],
[3],
[3],
]2) 当axis = 1
tf.repeat(temp3, repeats=2, axis=1)
输出:
[[1, 1],[2, 2],[3, 3],[4, 4]
]

tf.repeat(), Tensorflow2.1.0以上相关推荐

  1. Anaconda3+python3.7.10+TensorFlow2.3.0+PyQt5环境搭建

    Anaconda3+python3.7.10+TensorFlow2.3.0+PyQt5环境搭建 一.Anaconda 创建 python3.7环境 1.进入 C:\Users\用户名 目录下,找到 ...

  2. 【基于TensorFlow2.3.0的果蔬识别系统的设计】

    基于TensorFlow2.3.0的果蔬识别系统的设计 一.开发环境 Windows 10 Python 3.7.3 TensorFlow 2.3.0 Anaconda 4.12.0 CUDA 10. ...

  3. win10安装TensorFlow2.8.0

    前言 安装TensorFlow,系统是win10,python是3.9.7,conda是4.10.3,安装的TensorFlow版本是2.8.0 一.安装Anaconda 之前安装过,过程略:Anac ...

  4. 基于TensorFlow2.3.0的花卉识别Android APP设计

    一.前言 本设计为基于TensorFlow2.3.0的花卉识别Android APP.TensorFlow2.3.0的API简单易用,训练好后模型导出tflite格式供Anroid APP使用. 开发 ...

  5. Kears(TensorFlow2.2.0)在Android中部署(C++调用)

    环境 系统:mac os TensorFlow·:2.2.0 注意本文步骤的运行环境,其他不同版本环境未测试,仅供参考. TensorFlow Lite 指南 TensorFlow Lite 是一组工 ...

  6. GTX950M+Cuda10.1+TensorFlow2.1.0+Pytorch1.7.1

    GTX950M+Cuda10.1+Tensorflow2.1.0-Gpu 文章目录 GTX950M+Cuda10.1+Tensorflow2.1.0-Gpu 1.电脑环境.电脑配置 1.1电脑配置 1 ...

  7. 树莓派4B配置tensorflow2.4.0环境

    一开始觉得配置树莓派应该和电脑上差不多,先安装anaconda然后在里面建立tensorflow环境,但这过程比我想的艰难多.下面给出我尝试的三种配置tensoflow的方法,前两种失败了,最后一种成 ...

  8. Windows编译Tensorflow2.2.0 C++ dll (CPU bazel)

    Windows编译Tensorflow2.2.0 C++ dll (CPU bazel) 0.建议预先下载的几个包 1.VS2019, anaconda, bazel, msys2 下载.安装.路径设 ...

  9. 基于tensorflow2.3.0的图片识别多元输出案例分析

    前段时间我分析过猫狗图片识别的案例,"猫狗识别"顾名思义,给出一张图片,识别出来的可能结果就2个,不是猫就是狗,把这个定义为二元输出,本章要研究的是多元输出,即给出一张图片,识别出 ...

最新文章

  1. 两台路由器之间建立邻接关系的过程即报文信息交换过程
  2. 动态创建DataGrid的模版列(转)
  3. 配置CentOS的网络环境
  4. Servlet3.0新特性全解
  5. ubuntu19.10安装thrift
  6. VI3的VLAN配置:VST、EST和VGT标记
  7. DevExpress WinForms使用教程:图表控件 - 内置深入查询
  8. 【Java从0到架构师】RocketMQ 使用 - 集成 SpringBoot
  9. python三角网格代码_python中shapely的多多边形三角网格/网格
  10. 2019 Web 前端热点笔试面试题总结(转载)
  11. java使用Rocksdb
  12. Idea 格式化代码-配置
  13. 计算机p除c,计算机【电脑】中,Ctrl S/C/P/PrtSc/break/numberlock.分别表明什么?
  14. snagit 9.0注册码
  15. 用JavaScript写一个鼠标悬停变色事件
  16. python二元一次方程组用鸡兔同笼的思路来写编程_二元一次方程组的应用一鸡兔同笼问题...
  17. 人工智能研究中心快递柜——代码分析三
  18. touchjs中,touch的使用
  19. 腾讯云发布php项目,利用腾讯云服务器进行微校开放平台开发
  20. 建筑工地人脸识别门禁通道闸机如何安装 1

热门文章

  1. oracle权限培训,【必看】Oracle用户、权限、角色管理
  2. 2021年江西工业互联网安全技术技能大赛线上初赛Writeup
  3. anaconda配置h5py===2.10.0
  4. 【android】向模拟器的sdcard中添加文件
  5. 游戏开发经验之开源游戏盈利的十个有效途径
  6. HTML非遗文化网页设计题材【京剧文化】HTML+CSS(大美中国 14页 带bootstarp)
  7. 算法可以申请专利么_国内提供计算机视觉(CV)算法岗位的公司名单
  8. 云计算技术的产生、思想、原理、应用和前景
  9. 盛大创新院创新模式梳理
  10. DEAP2.1——数据包络分析(DEA——CCR、BCC)