一、数组生成方式
以下数据结构特点都是左开右闭
广播机制有两种特点:
1.不同数组元素之间一一运算。
2.不同数组若维度不同按一定规则补齐后,一一运算。
- python中内置的range函数可以类似用上述两种创建一系列数,
若要转化成列表,则需要用list(range(1,6))
- np.arange,但这里直接出来就是列表(这里纯数列表可以理解为数组,可以利用广播机制进行计算)
import numpy as np
array1 = np.arange(stop)#默认0为初始值,1为步长,规定终止值
array2 = np.arange(start, stop, step)
- 深度学习中数组
这里用torch框架说明,其实其用法与numpy中很类似,同样采用广播机制计算,此外,这里是张量类,支持GPU加速,与自动求导功能
x=torch.arange(12)
X=x.reshape(3,4)
Y=torch.randn(3,4)
print(Y)
print(X+Y)
- 其他转化成广播机制数组的方式
- 从列表创建数组
arr1 = np.array([1, 2, 3, 4, 5])
arr2=torch.tensor([1,2,3,4,5])
print(arr1)
print(arr2)
- 从元组创建数组
arr2 = np.array((6, 7, 8, 9, 10))
print(arr2)
- 从现有数组创建数组
arr3 = np.array(arr1)
print(arr3)
- 从文件中读取数据创建数组
arr4 = np.loadtxt('data.txt') # 假设有一个名为 'data.txt' 的文本文件
print(arr4)