zhangas

Pay more attention

0%

pytorch

数据操作

1
2
3
4
5
6
7
8
9
10
11
12
13
import torch
import numpy as np
a = torch.arange(12)
a = a.reshape(3, 4)
b = torch.zeros((3, 4, 5))
torch.randn(3, 4)
print(a)
a[0:2, :]
b = a.numpy() # tensor张量转ndarray
type(b)
c = torch.tensor(b) # ndarray转tensor张量
type(c)

数据pandas读入处理

1
2
3
4
5
6
7
8
9
10
11
import pandas as pd
import torch
data = pd.read_csv("/content/sample_data/mnist_train_small.csv") # 读入csv
input, output = data.iloc[:, 0:2], data.iloc[:, 2:4]
print(input)
print(output)
print(type(input))
X = torch.tensor(input.to_numpy(dtype=int)) # DataFrame先转numpy再转tensor张量
Y = torch.tensor(output.to_numpy(dtype=int))
print(X)
print(Y)

线性代数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import torch
a = torch.arange(12)
a = a.reshape((2, 2, 3))
print(a)
print(a.shape)
b = torch.arange(16).reshape(4, 4)
print(b)
print(b.sum(axis=0)) # 每一列求和
print(b.sum(axis=1)) # 每一行求和
print(b.sum()) # 所有元素求和
c = torch.arange(1, 17).reshape(4, 4)
print(c)
print(b * c) # 对应元素相乘
print(sum(b * c)) # 每一列求和
print(b @ c) # 矩阵乘法
print(torch.mm(b, c)) # 矩阵乘法——运算速度快

torch.normal()

1
2
torch.normal(means, std, out=None)
返回一个张量,包含从给定参数means,std的离散正态分布中抽取随机数。 均值means是一个张量,包含每个输出元素相关的正态分布的均值。 std是一个张量,包含每个输出元素相关的正态分布的标准差。 均值和标准差的形状不须匹配,但每个张量的元素个数须相同。

CNN:卷积神经网络
RNN:循环神经网络