人工智能深度学习-Torch框架-数学运算
数学的基本操作
1.floor:向下取整
2.celi:向上取整
3.round:四舍五入,这里的四舍五入还要看前面整数的奇偶性,基进偶不进
4.trunc:只保留整数
5.frac:只保留小数部分
6.fix:向0方向舍入
7.%:取余数
8.abs:取绝对值。
data = torch.tensor(
[
[1, 2, -3.5], # 1
[4, 5, 6], # 2
[10.5, 18.6, 19.6], # 3
[11.05, 19.3, 20.6], # 4
]
)
print(torch.floor(data))#向下取整(往小了取)
print(torch.ceil(data))#向上取整(往大了取)
print(torch.round(data))#四舍五入,这里的四舍五入还要看前面整数的奇偶性,基进偶不进
print(torch.trunc(data))
print(torch.fix(data))
print(torch.frac(data))
print(data%2)
print(torch.abs(data))#取绝对值
三角函数
计算余弦值:torch.cos(input,out=None)
torch.cosh(input,out=None) # 双曲余弦函数
计算正余弦值:torch.sin(input,out=None)
torch.sinh(input,out=None) # 双曲正弦函数
计算正切函数:torch.tan(input,out=None)
torch.tanh(input,out=None) # 双曲正切函数
统计学函数
-
torch.mean(): 计算张量的平均值。
-
torch.sum(): 计算张量的元素之和。
-
torch.std(): 计算张量的标准差。
-
torch.var(): 计算张量的方差。
-
torch.median(): 计算张量的中位数。取的是张量内按大小排序好后,按顺序的中位数。
6.torch.max(): 计算张量的最大值。
7.torch.min(): 计算张量的最小值。
8.torch.sort(): 对张量进行排序。返回值为一个排序好的张量列表,以及一个对应索引位置的视图。
9.torch.topk(): 返回张量中的前 k 个最大值或最小值。参数有 k = ,表示几个最大值, values
: 包含最大的 k
个元素的张量。
10.torch.histc(): 计算张量的直方图。参数:bins=,表示分为直方图内的几份。
11.torch.unique(): 返回张量中的唯一值。类似于去重。
12.torch.bincount(): 计算张量中每个元素的出现次数。统计从小到大(默认0,1,2,3,4,5,6,7)的元素出现的次数,没有的元素记作0
13.torch.mode():众数,返回一个众数,以及其原本虽在视图的索引。
保存以及加载张量
保存数据
def save_tensor():
# 1. 定义一个张量
x = torch.tensor([[1, 2, 3], [4, 5, 6]])
# 2. 保存到文件中
torch.save(x, "x.pt")#文件地址
加载数据
def load_tensor():
# 1. 加载张量
x = torch.load("x.pt")
# 2. 打印张量
选择打印设备
#设置判断语句,默认以GPU运行
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
# 3. 加载到指定设备
x = torch.load("x.pt", map_location=device)
CPU线程设置
使用 torch.get_num_threads() 来查看当前 PyTorch 使用的线程数
括号内可以填入线程数,自定线程数。
GPU不牵扯线程数。