日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

多维张量的理解

發布時間:2024/1/18 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多维张量的理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Tensor是Tensorflow中最基礎的數據結構,常常翻譯為張量,可以理解為n維數組或矩陣,相關函數:

constant(value, dtype=None, shape=None, name='Const', verify_shape=False)

?0.零維張量

import tensorflow as tf#零維張量 const0 = tf.constant(1, tf.float16) print(const0)

?運行結果:

Tensor("Const:0", shape=(), dtype=float16)

?1.一維張量

#一維張量,長度為4 const1 = tf.constant([1, 2, 3, 4], tf.float16) print(const1)

運行結果:

Tensor("Const_1:0", shape=(4,), dtype=float16)

幾何表示:

????????一維張量沒有行和列的概念,只有長度的概念。上述的const1就是長度為4的一維張量,或者稱為向量。上面的圖僅為示意,代表一維張量只有axis=0這個方向,并不是指這是一個4行的向量。事實上,tensorflow在做一些運算時,反而經常把1行N列的二維張量簡化成一個長度為N的一維向量。

2.二維張量

#二維張量,3行4列 const2 = tf.constant([[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12]], tf.float16) print(const2)

運行結果:

Tensor("Const_2:0", shape=(3, 4), dtype=float16)

幾何表示:

?3.三維張量

#三維張量,3行4列深度為2的張量 const3 = tf.constant([[[ 1, 2], [ 3, 4], [ 5, 6], [ 7, 8]],[[11, 12], [13, 14], [15, 16], [17, 18]],[[21, 22], [23, 24], [25, 26], [27, 28]]], tf.float16) print(const3)

運行結果:

Tensor("Const_3:0", shape=(3, 4, 2), dtype=float16)

幾何表示:

?4.四維張量

#四維張量 const4 = tf.constant([#第一個3行4列深度為2的三維張量[[[1, 2], [ 3, 4], [ 5, 6], [ 7, 8]],[[11, 12], [13, 14], [15, 16], [17, 18]],[[21, 22], [23, 24], [25, 26], [27, 28]]],#第二個3行4列深度為2的三維張量[[[1, 2], [ 3, 4], [ 5, 6], [ 7, 8]],[[11, 12], [13, 14], [15, 16], [17, 18]],[[21, 22], [23, 24], [25, 26], [27, 28]]]], tf.float16) print(const4)

運行結果:

Tensor("Const_4:0", shape=(2, 3, 4, 2), dtype=float16)

5.如何判斷一個張量的bitch數,行,列,深度

const4 = tf.constant([#第一個3行4列深度為2的三維張量[[[1, 2], [ 3, 4], [ 5, 6], [ 7, 8]],[[11, 12], [13, 14], [15, 16], [17, 18]],[[21, 22], [23, 24], [25, 26], [27, 28]]],#第二個3行4列深度為2的三維張量[[[1, 2], [ 3, 4], [ 5, 6], [ 7, 8]],[[11, 12], [13, 14], [15, 16], [17, 18]],[[21, 22], [23, 24], [25, 26], [27, 28]]]], tf.float16)

從左邊開始數連續[的數量,最多有X個[說明是X維張量。上面的例子就是4維張量。
以三維以上的張量為例:
從左邊開始數連續的[,最后一個[對應的]中一共兩個元素,分別為1, 2,說明深度為2。
接下來向左邊數上一級[對應的]中一共有4個元素[1, 2], [ 3, 4], [ 5, 6], [ 7, 8],說明列為4。
同理繼續數上一級,得到3行,2個batch。

6.小結

shape屬性中的元素大于等于3時,可以用3維空間來理解。
shape=(3, 4, 2)時,表示3行4列深度為2的張量
shape=(2, 3, 4, 2)時,表示有2個 3行4列深度為2的張量
shape=(6, 2, 3, 4, 2)時,表示有6個四維張量,這個四維張量又可以表示為2個 3行4列深度為2的張量。

shape中的屬性分別與axis=0,axis=1、axis=2、axis=3……對應,以此類推。當維度超過3時,上圖幾何中的坐標系表示就已經錯誤了。但是對于理解多維是有幫助的。

總結

以上是生活随笔為你收集整理的多维张量的理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。