1.模型线性方程y = W ∗ X + b
from torch import nn
import torch
#手动设置的W参数(待模型学习),这里设置为12个,自己随意设置
weight_set=torch.tensor([[1.5,2.38,4.22,6.5,7.2,3.21,4.44,6.55,2.48,-1.75,-3.26,4.78]])
#手动设置的偏置b
bias=torch.tensor([7.25])
#生成100个随机的12个特征的点
torch.random.manual_seed(100)
x=torch.randint(1,10,(100,12))
x=x.float()
#将参数转置
weight_set_trans=weight_set.transpose(0,1)
#y=w*x+b
y_true=torch.matmul(x,weight_set_trans)+bias
2.定义单层的网络结构
#定义模型
class linear_model(nn.Module):
def __init__(self):
super().__init__()
self.layer = nn.Linear(12,1)
def forward (self, x):
y = self.layer(x)
return y
model=linear_model()
h=model(x)
for name ,param in model.named_parameters():
print(f"{name}:{param}")
output:
layer.weight:Parameter containing:
tensor([[ 0.2429, 0.0523, -0.2873, 0.2485, 0.1396, -0.0960, 0.2534, 0.2423,
0.0123, -0.2309, -0.22

最低0.47元/天 解锁文章
1569

被折叠的 条评论
为什么被折叠?



