簡單感受一下tensorflow中axis的使用

2021-09-08 09:12:37 字數 1279 閱讀 3097

很潦草的感受一下,不要認真。

假設我這裡有個二維tensor - x,shape=[2, 3];

那麼如果進行某類帶有axis=0這樣的操作,如tf.reduce_max(a, axis=0).

那就理解為:

for (int i = 0; i < x.shape[1], ++ i)
不好理解?

看看實際執行效果:

雖然這段**寫的不是很優雅,但還是可以理解的出來,和最上面那個偽**的邏輯是能保持一致的。

然後我想表達啥呢?

就是如果有個張量 - nb,shape是[a, b, c, d, ... , x, y, z]。

然後進行帶有axis = num這樣的操作的函式,其實就是對nb的num 這一維度進行操作。

如 axis=0, 就是對nb[i, *, *, *]這一維進行操作,得到的結果是nb2,shape是[b, c, d, ... , x, y, z]。

如果axis=1, 就會得到nb3, shape是[a, c, d, ... ,x, y, z]。

對axis那一維的資料(取出來看的話就是乙個向量)做了某個操作,得到結果(對該向量進行某種運算,得到乙個值,代替該維,如max,就是找到該維(向量)的最大值,mean,就該維(向量)的平均值),然後就會降維了。

不知道你們有沒有搞明白我在講啥,反正我懂了。

再解釋下那個 [[1, 2, 3], [10, 20, 30]] 的例子

如果axis=0,按我前面說的就是對 a[i, *]進行乙個max的操作,

會做些啥呢?

求max(a[0][0], a[1][0]),max(a[0][1], a[1][1]),max(a[0][2], a[1][2])。

固定其它維度,唯有axis那一維作為變數,遍歷該維,就是乙個向量,對該向量進行乙個操作,就得到了該維的該操作的代表。

這樣做也會對原資料進行一次降維。

嗯,能力有限,邏輯思維確實有欠缺。所以簡單感受一下就好。反正我懂了。

HDU 4585 感受一下 set 的用法

這是第一次參加邀請賽的時候遇到的題目啊。當時全場過啊。自己就是不會啊。當時我還記得自己手寫一二叉堆。淚奔。這就是一平衡樹的題目,找前繼和後繼的。set足夠了。在 set 的 it 的時候要注意是不是是開頭 include include include include include include...

感受一下三星W2019與眾不同風範

三星是南韓的知名公司之一,是南韓最大的企業集團三星集團的簡稱,該集團包括44個下屬公司及若干其他法人機構,成長為 世界最受尊敬企業 企業之一的三星在全世界68個國家擁有429個據點23萬員工,業務涉及電子 金融 機械 化學等眾多領域。三星集團成立於1938年,公司最初主要出口朝鮮南半島的魚幹 蔬菜和...

膚淺感受一下為什麼曾經的寧波公司不做外包專案的原因

現在定居在杭州也快有3年多了,時間是過得快也就是一轉眼的功夫。曾經在寧波工作時,公司有乙個原則一般外包專案都不接當時很是不理解,為什麼不接外包專案?幾年後的今天能充分理解為什麼不接外包專案了。1 現在大多商家不夠誠信 一般不遵守合同,在做外包的過程中往往會採取挖牆角的戰略,所謂是無奸不商吧。甚至是更...