前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习基本概念|张量tensor

深度学习基本概念|张量tensor

作者头像
生信修炼手册
发布2021-07-06 16:36:53
7970
发布2021-07-06 16:36:53
举报
文章被收录于专栏:生信修炼手册生信修炼手册

欢迎关注”生信修炼手册”!

深度学习常用于处理图像,文本,语音等数据,在计算机中,需要将这些数据用合适的数据结构来存储。以图像为例,每一幅图像可以看作由像素点构成的二维数组,而每个像素点又可以表示成RGB对应的3元组,经过这样的嵌套之后,每一幅图像实际上变成了一个高阶数组, 图示如下

在深度学习中,采用tensor来存储高阶数组对应的数据。tensor, 中文叫做张量,谷歌的开源机器学习框架TensorFlow也是建立在张量的基础上。

张量用来存储高阶数组,但本质上标量,向量,矩阵都可以看作是张量的特殊形式

tensorflow中,定义张量的方式如下

代码语言:javascript
复制
>>> import tensorflow as tf
>>> rank_0_tensor = tf.constant(4)
>>> rank_1_tensor = tf.constant([2.0, 3.0, 4.0])
>>> rank_2_tensor = tf.constant([[1, 2],[3, 4],[5, 6]], dtype=tf.float16)
>>> rank_3_tensor = tf.constant([[[0, 1, 2, 3, 4],[5, 6, 7, 8, 9]],[[10, 11, 12, 13, 14],[15, 16, 17, 18, 19]],[[20, 21, 22, 23, 24],[25, 26, 27, 28, 29]],])

对于张量,可以有多种可视化方式来帮助我们理解其结构, 以3阶张量为例

代码语言:javascript
复制
>>> rank_3_tensor = tf.constant([[[0,1,2,3,4], [5,6,7,8,9]],[[10,11,12,13,14], [15,16,17,18,19]], [[20,21,22,23,24], [25,26,27,28,29]]])
>>> rank_3_tensor
<tf.Tensor: shape=(3, 2, 5), dtype=int32, numpy=
array([[[ 0,  1,  2,  3,  4],
        [ 5,  6,  7,  8,  9]],

       [[10, 11, 12, 13, 14],
        [15, 16, 17, 18, 19]],

       [[20, 21, 22, 23, 24],
        [25, 26, 27, 28, 29]]])>

张量有以下几个基本属性

1. shape, 形状,统计各个维度的元素数量

2. rank, 秩,维度的总数

3. axis, 轴,具体的某一个维度

代码语言:javascript
复制
>>> rank_4_tensor = tf.zeros([3, 2, 4, 5])
>>> rank_4_tensor.shape
TensorShape([3, 2, 4, 5])
# 张量的秩
>>> rank_4_tensor.ndim
4
# axis 0的元素数量
>>> rank_4_tensor.shape[0]
3
# axis 1的元素数量
>>> rank_4_tensor.shape[1]
2
# axis 2的元素数量
>>> rank_4_tensor.shape[2]
4
# axis 3的元素数量
>>> rank_4_tensor.shape[3]
5

图示如下

tensorflow通过张量这一数据结构来存储待处理的数据,并再次基础上定义了一系列的张量操作,来高效的处理深度学习运算。

·end·

—如果喜欢,快分享给你的朋友们吧—

原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!

本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信修炼手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档