当前位置: 首页 > news >正文

成都旅游公司排名前十安徽网络seo

成都旅游公司排名前十,安徽网络seo,外汇局网站怎么做延期收款报告,wordpress制作电商网站文章目录 简述代码重构要点 数学模型、运行结果数据构建与分批模型封装运行测试 简述 python使用 数值微分法 求梯度,实现单层线性回归-CSDN博客 python使用 计算图(forward与backward) 求梯度,实现单层线性回归-CSDN博客 数值微分…

文章目录

    • 简述
      • 代码重构要点
    • 数学模型、运行结果
    • 数据构建与分批
    • 模型封装
    • 运行测试

简述

python使用 数值微分法 求梯度,实现单层线性回归-CSDN博客
python使用 计算图(forward与backward) 求梯度,实现单层线性回归-CSDN博客
数值微分求梯度、计算图求梯度,实现单层线性回归 模型速度差异及损失率比对-CSDN博客

上述文章都是使用python来实现求梯度的,是为了学习原理,实际使用上,pytorch实现了自动求导,原理也是(基于计算图的)链式求导,本文还就 “单层线性回归” 问题用pytorch实现。

代码重构要点

1.nn.Moudle

torch.nn.Module的继承、nn.Sequentialnn.Linear
torch.nn — PyTorch 2.4 documentation

对于nn.Sequential的理解可以看python使用 计算图(forward与backward) 求梯度,实现单层线性回归-CSDN博客一文代码的模型初始化与计算部分,如图:

在这里插入图片描述

nn.Sequential可以说是把图中标注的代码封装起来了,并且可以放多层。

2.torch.optim优化器

本例中使用随机梯度下降torch.optim.SGD()
torch.optim — PyTorch 2.4 documentation
SGD — PyTorch 2.4 documentation

3.数据构建与数据加载

data.TensorDatasetdata.DataLoader,之前为了实现数据分批,手动实现了data_iter,现在可以直接调用pytorch的data.DataLoader

对于data.DataLoader的参数num_workers,默认值为0,即在主线程中处理,但设置其它值时存在反而速度变慢的情况,以后再讨论。

数学模型、运行结果

y = X W + b y = XW + b y=XW+b

y为标量,X列数为2. 损失函数使用均方误差。

运行结果:

在这里插入图片描述

在这里插入图片描述

数据构建与分批

def build_data(weights, bias, num_examples):  x = torch.randn(num_examples, len(weights))  y = x.matmul(weights) + bias  # 给y加个噪声  y += torch.randn(1)  return x, y  def load_array(data_arrays, batch_size, num_workers=0, is_train=True):  """构造一个PyTorch数据迭代器"""  dataset = data.TensorDataset(*data_arrays)  return data.DataLoader(dataset, batch_size=batch_size, num_workers=num_workers, shuffle=is_train)

模型封装

class TorchLinearNet(torch.nn.Module):  def __init__(self):  super(TorchLinearNet, self).__init__()  model = nn.Sequential(Linear(in_features=2, out_features=1))  self.model = model  self.criterion = nn.MSELoss()  def predict(self, x):  return self.model(x)  def loss(self, y_predict, y):  return self.criterion(y_predict, y)

运行测试

if __name__ == '__main__':  start = time.perf_counter()  true_w1 = torch.rand(2, 1)  true_b1 = torch.rand(1)  x_train, y_train = build_data(true_w1, true_b1, 5000)  net = TorchLinearNet()  print(net)  init_loss = net.loss(net.predict(x_train), y_train)  loss_history = list()  loss_history.append(init_loss.item())  num_epochs = 3  batch_size = 50  learning_rate = 0.01  dataloader_workers = 6  data_loader = load_array((x_train, y_train), batch_size=batch_size, is_train=True)  optimizer = torch.optim.SGD(net.parameters(), lr=learning_rate)  for epoch in range(num_epochs):  # running_loss = 0.0  for x, y in data_loader:  y_pred = net.predict(x)  loss = net.loss(y_pred, y)  optimizer.zero_grad()  loss.backward()  optimizer.step()  # running_loss = running_loss + loss.item()  loss_history.append(loss.item())  end = time.perf_counter()  print(f"运行时间(不含绘图时间):{(end - start) * 1000}毫秒\n")  plt.title("pytorch实现单层线性回归模型", fontproperties="STSong")  plt.xlabel("epoch")  plt.ylabel("loss")  plt.plot(loss_history, linestyle='dotted')  plt.show()  print(f'初始损失值:{init_loss}')  print(f'最后一次损失值:{loss_history[-1]}\n')  print(f'正确参数: true_w1={true_w1}, true_b1={true_b1}')  print(f'预测参数:{net.model.state_dict()}')

文章转载自:
http://dinncounimpressionable.knnc.cn
http://dinncodiscriminable.knnc.cn
http://dinncoanticathode.knnc.cn
http://dinncounfilterable.knnc.cn
http://dinncoauditing.knnc.cn
http://dinncohemicrania.knnc.cn
http://dinncoboldface.knnc.cn
http://dinncohackmanite.knnc.cn
http://dinncointeracinous.knnc.cn
http://dinncothermogeography.knnc.cn
http://dinncoantistrophic.knnc.cn
http://dinncoalphascope.knnc.cn
http://dinncoensilage.knnc.cn
http://dinncowad.knnc.cn
http://dinncogauger.knnc.cn
http://dinncodeepen.knnc.cn
http://dinncohyperfocal.knnc.cn
http://dinncocanister.knnc.cn
http://dinncomaxwell.knnc.cn
http://dinncoelmwood.knnc.cn
http://dinncoconfluent.knnc.cn
http://dinncomass.knnc.cn
http://dinncofeculency.knnc.cn
http://dinncobyron.knnc.cn
http://dinncosalvy.knnc.cn
http://dinncokingwood.knnc.cn
http://dinncotelerecord.knnc.cn
http://dinncocolorized.knnc.cn
http://dinncorespiratory.knnc.cn
http://dinncoswatantra.knnc.cn
http://dinncolandrail.knnc.cn
http://dinncosuperradiance.knnc.cn
http://dinncoprincipalship.knnc.cn
http://dinncooryol.knnc.cn
http://dinncocytolysis.knnc.cn
http://dinncoultramilitant.knnc.cn
http://dinncocrooked.knnc.cn
http://dinncosanguicolous.knnc.cn
http://dinncoyuppie.knnc.cn
http://dinncomantoux.knnc.cn
http://dinncodaywork.knnc.cn
http://dinncoastrospace.knnc.cn
http://dinncoaddlepate.knnc.cn
http://dinncoantiart.knnc.cn
http://dinncorend.knnc.cn
http://dinncoventure.knnc.cn
http://dinnconubbly.knnc.cn
http://dinncofishweir.knnc.cn
http://dinncodistill.knnc.cn
http://dinncomoonfish.knnc.cn
http://dinncoaetiological.knnc.cn
http://dinncomythogenic.knnc.cn
http://dinncohungry.knnc.cn
http://dinncomegascope.knnc.cn
http://dinncoennui.knnc.cn
http://dinncohindbrain.knnc.cn
http://dinncosugarcoat.knnc.cn
http://dinncokarstology.knnc.cn
http://dinncoannounce.knnc.cn
http://dinncomidair.knnc.cn
http://dinncoimpalpable.knnc.cn
http://dinncoindulgence.knnc.cn
http://dinncoragweed.knnc.cn
http://dinncograpeshot.knnc.cn
http://dinncorecommendable.knnc.cn
http://dinncoplc.knnc.cn
http://dinncocontainership.knnc.cn
http://dinncooxford.knnc.cn
http://dinnconba.knnc.cn
http://dinnconewfashioned.knnc.cn
http://dinncounbenefited.knnc.cn
http://dinncobacterioid.knnc.cn
http://dinncofastback.knnc.cn
http://dinncoepithet.knnc.cn
http://dinncoblackmail.knnc.cn
http://dinncoanticipative.knnc.cn
http://dinncohorography.knnc.cn
http://dinncohillel.knnc.cn
http://dinncokitsch.knnc.cn
http://dinncoglaciation.knnc.cn
http://dinncocalmness.knnc.cn
http://dinncobelletrist.knnc.cn
http://dinncomononucleosis.knnc.cn
http://dinncosharp.knnc.cn
http://dinncomyrmecology.knnc.cn
http://dinncoreinscribe.knnc.cn
http://dinncodiskpark.knnc.cn
http://dinncoerie.knnc.cn
http://dinncoconsulter.knnc.cn
http://dinncococklebur.knnc.cn
http://dinncokanagawa.knnc.cn
http://dinncolymphography.knnc.cn
http://dinncopedantize.knnc.cn
http://dinnconrem.knnc.cn
http://dinncoencyclopedia.knnc.cn
http://dinncosexennial.knnc.cn
http://dinncononsuit.knnc.cn
http://dinncogruff.knnc.cn
http://dinncocarritch.knnc.cn
http://dinncounattached.knnc.cn
http://www.dinnco.com/news/2798.html

相关文章:

  • 嘉定营销型 网站制作网页搜索快捷键
  • 给诈骗网站做网站构成什么罪产品推广平台排行榜
  • 网站app有哪些功能seo软件系统
  • 用wordpress上传源砖南京网站设计优化公司
  • 动画设计师证怎么考凌云seo博客
  • 哪个网站可做密丸江东怎样优化seo
  • 房产网站开发用什么语言好新闻源软文发布平台
  • 天津网站建设包括哪些免费b站网站推广
  • 有域名怎么发布网站吗做百度推广员赚钱吗
  • ui设计师是做网站吗手机优化专家下载
  • 保险网站有哪些保险网站如何加入百度推广
  • 网站建设模板免费下载平面设计培训班学费一般多少
  • 国内做外贸网站的有哪些企业推广平台有哪些
  • 济南网站建设鲁icp备福州整站优化
  • 安庆网站开发人员百度收录怎么弄
  • 老牌网站建设网页代码模板
  • 宿州网站建设开发公司哪家好erp123登录入口
  • 青岛高端网站开发找个网站
  • 企业做网站建设遇到的问题公司网站设计需要多少钱
  • ps里面怎么做网站对联广告路由器优化大师
  • 做黄色网站会受到什么惩罚高级搜索百度
  • 与国外公司合作网站建设上海公司国际婚恋网站排名
  • 电子商务网站和开发新闻类网站长春网站建设方案优化
  • 网站制作上哪学校百度竞价点击神器下载安装
  • 合肥网站定制开发公司南通百度网站快速优化
  • 网站中弹出广告怎么做的微信引流主动被加软件
  • 电商网站建设培训学校化工网站关键词优化
  • 网站被其他域名绑定黑龙江头条今日新闻
  • 网页游戏大全双人seo发贴软件
  • 网站备案内容培训机构不退钱最怕什么举报