1.多维数组

import numpy as np
A=np.array([[1,2,3,4,5],[1,23,3,4,5]])
B=np.array([1,2,3,4,5])
print(A)
print(A.shape)
print(f"数组的形状{str(A.shape)}")
print(f"数组的形状{str(B.shape)}")
# print("数组的维数"+A.ndim)报错
# 方法1:使用字符串格式化
print(f"数组的维数{A.ndim}")
# 方法2:将整数转换为字符串后拼接
print("数组的维数" + str(A.ndim))
# 三维数组

# 创建一个3×3×3的三维数组(3个3×3的矩阵)
three_d_array = np.array([
    [[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]]
])#三层中括号

# 查看数组的形状(三维)
print("数组形状:", three_d_array.shape)  # 输出 (3, 3, 3)

# 查看数组的维度
print("数组维度:", three_d_array.ndim)  # 输出 3

# 访问三维数组中的元素(第2个矩阵的第1行第0列,索引从0开始)
print("指定元素:", three_d_array[1, 0, 2])  # 输出 12

# 访问第一个二维数组(矩阵)
print("第一个矩阵:\n", three_d_array[0])
print("第二个矩阵:\n", three_d_array[1])

2.矩阵(二维数组)乘法

矩阵乘积可以通过np.dot(A,B)来实现。要注意的是,np.dot(A, B)和np.dot(B, A)的 值可能不一样。

注意矩阵A*B时:A的第1维的元素个数(列数) 必须和矩阵B的第0维的元素个数(行数)相等。

代码实现:

import numpy as np
A=np.array([[1,2,3],[4,5,6]])  #2*3
B=np.array([[2,4],[3,5],[6,8]])#3*2
C=A.dot(B) #2*2
print(C)

运算结果的矩阵C的形状是由矩阵A的行数 和矩阵B的列数构成的

3.神经网络的内积

实现该神经网络时,要注意X、W、Y的形状,特别是X和W的对应 维度的元素个数是否一致,这一点很重要。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐