吴裕雄--天生自然TensorFlow2教程:维度变换
图片视图
[b, 28, 28] # 保存b张图片,28行,28列(保存数据一般行优先),图片的数据没有被破坏
[b, 28*28] # 保存b张图片,不考虑图片的行和列,只保存图片的数据,不关注图片数据的细节
[b, 2, 14*28] # 保存b张图片,把图片分为上下两个部分,两个部分具体多少行是不清楚的
[b, 28, 28, 1] # 保存b张图片,28行,28列,1个通道
First Reshape(重塑视图) import tensorflow as tf
a = tf.random.normal([4, 28, 28, 3])
a.shape, a.ndim tf.reshape(a, [4, 784, 3]).shape # 给出一张图片某个通道的数据,丢失行、宽的信息 tf.reshape(a, [4, -1, 3]).shape # 4*(-1)*3 = 4*28*28*3 tf.reshape(a, [4, 784*3]).shape # 给出一张图片的所有数据,丢失行、宽和通道的信息 tf.reshape(a, [4, -1]).shape
Second Reshape(恢复视图) tf.reshape(tf.reshape(a, [4, -1]), [4, 28, 28, 3]).shape tf.reshape(tf.reshape(a, [4, -1]), [4, 14, 56, 3]).shape tf.reshape(tf.reshape(a, [4, -1]), [4, 1, 784, 3]).shape first reshape:
images: [4,28,28,3]
reshape to: [4,784,3] second reshape:
[4,784,3] height:28,width:28 [4,28,28,3] √
[4,784,3] height:14,width:56 [4,14,56,3] ×
[4,784,3] width:28,height:28 [4,28,28,3] ×
Transpose(转置) a = tf.random.normal((4, 3, 2, 1))
a.shape tf.transpose(a).shape tf.transpose(a, perm=[0, 1, 3, 2]).shape # 按照索引替换维度 a = tf.random.normal([4, 28, 28, 3]) # b,h,w,c
a.shape tf.transpose(a, [0, 2, 1, 3]).shape # b,2,h,c tf.transpose(a, [0, 3, 2, 1]).shape # b,c,w,h tf.transpose(a, [0, 3, 1, 2]).shape # b,c,h,w
Expand_dims(增加维度) a:[classes, students, classes]
add school dim(增加学校的维度):
[1, 4, 35, 8] + [1, 4, 35, 8] = [2, 4, 35, 8] a = tf.random.normal([4, 25, 8])
a.shape tf.expand_dims(a, axis=0).shape # 索引0前 tf.expand_dims(a, axis=3).shape # 索引3前 tf.expand_dims(a,axis=-1).shape # 索引-1后 tf.expand_dims(a,axis=-4).shape # 索引-4后,即左边空白处
Squeeze(挤压维度)
Only squeeze for shape = 1 dim(只删除维度为1的维度) [4, 35, 8, 1] = [4, 35, 8]
[1, 4, 35, 8] = [14, 35, 8]
[1, 4, 35, 1] = [4, 35, 8] tf.squeeze(tf.zeros([1,2,1,1,3])).shape a = tf.zeros([1,2,1,3])
a.shape
tf.squeeze(a,axis=0).shape
tf.squeeze(a,axis=2).shape
tf.squeeze(a,axis=-2).shape
tf.squeeze(a,axis=-4).shape
吴裕雄--天生自然TensorFlow2教程:维度变换的更多相关文章
- 吴裕雄--天生自然TensorFlow2教程:多输出感知机及其梯度
import tensorflow as tf x = tf.random.normal([2, 4]) w = tf.random.normal([4, 3]) b = tf.zeros([3]) ...
- 吴裕雄--天生自然TensorFlow2教程:合并与分割
import tensorflow as tf # 6个班级的学生分数情况 a = tf.ones([4, 35, 8]) b = tf.ones([2, 35, 8]) c = tf.concat( ...
- 吴裕雄--天生自然TensorFlow2教程:Broadcasting
Broadcasting可以理解成把维度分成大维度和小维度,小维度较为具体,大维度更加抽象.也就是小维度针对某个示例,然后让这个示例通用语大维度. import tensorflow as tf x ...
- 吴裕雄--天生自然TensorFlow2教程:Tensor数据类型
list: [1,1.2,'hello'] ,存储图片占用内存非常大 np.array,存成一个静态数组,但是numpy在深度学习之前就出现了,所以不适合深度学习 tf.Tensor,为了弥补nump ...
- 吴裕雄--天生自然TensorFlow2教程:手写数字问题实战
import tensorflow as tf from tensorflow import keras from keras import Sequential,datasets, layers, ...
- 吴裕雄--天生自然TensorFlow2教程:函数优化实战
import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D def himme ...
- 吴裕雄--天生自然TensorFlow2教程:反向传播算法
- 吴裕雄--天生自然TensorFlow2教程:链式法则
import tensorflow as tf x = tf.constant(1.) w1 = tf.constant(2.) b1 = tf.constant(1.) w2 = tf.consta ...
- 吴裕雄--天生自然TensorFlow2教程:单输出感知机及其梯度
import tensorflow as tf x = tf.random.normal([1, 3]) w = tf.ones([3, 1]) b = tf.ones([1]) y = tf.con ...
随机推荐
- 十九、JavaScript之数组
一.代码如下 二.执行效果如下 <!DOCTYPE html> <html> <meta http-equiv="Content-Type" cont ...
- 五十九、SAP中常用预定义系统变量
一.SAP中常用预定义系统变量 内容如下: 二.系统变量定义在结构SYST里,我们打开SE38 三.在代码编辑器输入SYST变量 四.双击SYST,来到这个系统结构,里面有很多系统变量 五.我们随便写 ...
- office组件导入导出常见异常记录
异常:未能加载文件或程序集"Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken ...
- Meeloun教你如何正式切入Essay写作话题
很多同学在Essay写作过程中会发现:如果题目问到解决办法,写来写去,都是政府要颁布政策,人们要提高意识,感觉一点新意也没有.怎么样更好地切合不同的话题,想到最合适的解决办法呢?今天小编为你奉上更多处 ...
- vue左侧菜单的实现
后端实现 django视图def menu(request): menu_list = models.Menu.objects.all().values('id', 'menu_name', 'par ...
- UVA - 12716 GCD XOR(GCD等于XOR)(数论)
题意:输入整数n(1<=n<=30000000),有多少对整数(a, b)满足:1<=b<=a<=n,且gcd(a,b)=a XOR b. 分析:因为c是a的约数,所以枚 ...
- linux shell的创建与启动
1.创建shell脚本,输入linux命令: touch my.sh 2.编辑shell脚本,输入linux命令: vi my.sh 3.在shell脚本进行编辑:顺便记一次Jenkins的自动启动的 ...
- NCRE Java二级备考方案
一 配合大纲梳理基本知识点 二 多在233网校刷题
- 判断单链表是否有环,并找出环的入口python
1.如何判断一个链表是否有环? 2.如果链表为存在环,如果找到环的入口点? 1.限制与要求 不允许修改链表结构. 时间复杂度O(n),空间复杂度O(1). 2.思考 2.1判断是否有环 如果链表有环, ...
- 吴裕雄--天生自然 JAVASCRIPT开发学习:switch 语句
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...