社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

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

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

在深度学习中,采用tensor来存储高阶数组对应的数据。tensor, 中文叫做张量,谷歌的开源机器学习框架TensorFlow也是建立在张量的基础上。
张量用来存储高阶数组,但本质上标量,向量,矩阵都可以看作是张量的特殊形式

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

>>> 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阶张量为例

>>> 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_tensor3, 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, 轴,具体的某一个维度

>>> rank_4_tensor = tf.zeros([3, 2, 4, 5])>>> rank_4_tensor.shapeTensorShape([3, 2, 4, 5])# 张量的秩>>> rank_4_tensor.ndim4# 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·
—如果喜欢,快分享给你的朋友们吧—

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

本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。
  更多精彩
  写在最后
转发本文至朋友圈,后台私信截图即可加入生信交流群,和小伙伴一起学习交流。

扫描下方二维码,关注我们,解锁更多精彩内容!

一个只分享干货的

生信公众号



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/115159
 
411 次点击