python中的-1所表示的维度为倒数第一个。
(1)将张量的中的所有元素用下标表示其所在的位置。
(2)将张量进行分组,然后再操作。axis=i,忽略i轴下标,将其他轴下标相同的为一组,然后再对该组进行操作。
分组则意味着会降维,则每axis一次,维度就降低1,所得到的结果张量维度降低。
当numpy函数不指定axis的值时,表示函数对所有元素进行操作;
二维张量:
>>> import numpy as np
>>> a=np.array([[1,2],
[3,4],
[5,6]])
>>> a.mean(axis=0)
array([3., 4.])
>>> a.mean(axis=1)
array([1.5, 3.5, 5.5])
"""
二维张量也可以直接记忆
axis=0:可以理解为按照行顺序,对列进行操作
axis=1:可以理解为按照列顺序,对行进行操作
"""
(1)张量a中的所有元素用下标表示其所在的位置。如下
[[00, 01],
[10, 11],
[20, 21]]
(2)将张量进行分组,然后再操作。axis=i,忽略i轴下标,将其他轴下标相同的为一组,然后再对该组进行操作。
>>a.shape()
(3,2)
若 axis = 0,则结果张量相比较于原始张量维度减1,变成1维。分成2组,每组个数为3,再进行操作。
(张量元素下标中第一个数字除去,剩下的数字相同的为一组)
[[0, 1],
[0, 1],
[0, 1]]
若 axis = 1,则结果张量相比较于原始张量维度减1,变成1维,分成3组,每组个数为2,再进行操作。
(张量元素下标中第二个数字除去,剩下的数字相同的为一组)
[[0, 0],
[1, 1],
[2, 2]]
三维张量:
import numpy as np
np.random.seed(1234)
embeddings = np.random.randint(0, 10, size=[3, 3, 5])
print(embeddings )
a = np.max(embeddings ,axis=-1)
b = np.max(embeddings ,axis=0)
c = np.max(embeddings ,axis=1)
print(a)
print(b)
print(c)
[[[3 6 5 4 8],
[9 1 7 9 6],
[8 0 5 0 9]],[[6 2 0 5 2],
[6 3 7 0 9],
[0 3 2 3 1]],[[3 1 3 7 1],
[7 4 0 5 1],
[5 9 9 4 0]]]axis=-1,表示倒数第一个维度。
[[8 9 9]
[6 9 3]
[7 7 9]]axis=0
[[6 6 5 7 8]
[9 4 7 9 9]
[8 9 9 4 9]]axis=1
[[9 6 7 9 9]
[6 3 7 5 9]
[7 9 9 7 1]]
(1)将张量的中的所有元素用下标表示其所在的位置
[[[000, 001, 002, 003, 004],
[010, 011, 012, 013, 014],
[020, 021, 022, 023, 024]],
[[100, 101, 102, 103, 104],
[110, 111, 112, 113, 114],
[120, 121, 122, 123, 124]],
[[200, 201, 202, 203, 204],
[210, 211, 212, 213, 214],
[220, 221, 222, 223, 224]]]
(2)将张量进行分组,然后再操作。axis=i,忽略i轴下标,将其他轴下标相同的为一组,然后再对该组进行操作
>>embeddings.shape()
(3, 3, 5)
若 axis = -1,则结果张量相比较于原始张量维度减1,变成2维,shape:3*3。分成3*3组,每组个数为5,再进行操作。
(张量元素下标中第一个数字除去,剩下的数字相同的为一组)
[[[00, 00, 00, 00, 00],
[01, 01, 01, 01, 01],
[02, 02, 02, 02, 02]],
[[10, 10, 10, 10, 10],
[11, 11, 11, 11, 11],
[12, 12, 12, 12, 12],
[[20, 20, 20, 20, 20],
[21, 21, 21, 21, 21],
[22, 22, 22, 22, 22]]]
若 axis = 0,则结果张量相比较于原始张量维度减1,变成2维,shape:3*5,分成3*5组,每组个数为3,再进行操作。
(张量元素下标中第二个数字除去,剩下的数字相同的为一组)
同理,略
若 axis = 1,则结果张量相比较于原始张量维度减1,变成2维,shape:3*5,分成3*5组,每组个数为3,再进行操作。
(张量元素下标中第二个数字除去,剩下的数字相同的为一组)
同理,略