TensorFlow人工智能学习按索引取数据及维度变换详解
一、按索引取数据
①tf.gather()
输入参数:数据、维度、索引
例:设数据是[4,35,8],4个班级,每个班级35个学生,每个学生8门课成绩。
则下面In [49]的意思是,全部四个班级,每个班级取编号为2,3,7,9,16的学生,每个学生取所有8门课的成绩。


②tf.gather_nd
前面输入数据,后面填取的联合维度。只把最内层的括号当做联合索引的坐标。

下面的例子,也是一样,最内层的中括号,是一个联合索引。比如in56,第0个班级,第0号学生成绩,以及第1号班级,第1号学生的成绩。也就是每一个最内层中括号,都是一个样本,而里面的每一个数据,都相当于一个特征。

③tf.boolean_mask
按布尔值索引,不指定维度相当于是第一个维度,指定axis就会根据axis去索引。给索引矩阵也可以。

二、维度变换
①tf.reshape()
输入参数:数据,希望变成的维度

②tf.transpose()
转置,perm数字指的是数字所在位置上放哪一个原来的维度。

pytorch中图像存储维度是[b,c,h,w],tf中是[b,h,w,c]
③tf.expand_dims()
增加维度,第一个填的是数据,第二个填的是维度,是指你希望把添加的维度作为第几维。

④tf.squeeze()
可以去掉为1的维度。不指定维度的话就去掉所有的为1的维度。

以上就是TensorFlow人工智能学习按索引取数据及维度变换详解的详细内容,更多关于TensorFlow索引维度变换的资料请关注脚本之家其它相关文章!
相关文章
Python字符和字符值(ASCII或Unicode码值)转换方法
这篇文章主要介绍了Python字符和字符值(ASCII或Unicode码值)转换方法,即把字符串在ASCII值或者Unicode值之间相与转换的方法,需要的朋友可以参考下2015-05-05
python3实现网页版raspberry pi(树莓派)小车控制
这篇文章主要为大家详细介绍了python3实现网页版raspberry pi(树莓派)小车控制,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2020-02-02
详解Python中@staticmethod和@classmethod区别及使用示例代码
这篇文章主要介绍了详解Python中@staticmethod和@classmethod区别及使用示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-12-12


最新评论