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

山东建站商城宝塔做的网站能不能访问

山东建站商城,宝塔做的网站能不能访问,什么是网站关键词,网站做百度竞价的标志pytorch实现逻辑回归 数据准备,参数初始化前向计算计算损失计算梯度更新参数 在官网上找到线性函数的公式表达式 import torch from sklearn.datasets import load_iris # from sklearn.model_selection import train_test_split #train_test_split是sklearn中的…

pytorch实现逻辑回归

  1. 数据准备,参数初始化
  2. 前向计算
  3. 计算损失
  4. 计算梯度
  5. 更新参数

在官网上找到线性函数的公式表达式
在这里插入图片描述

在这里插入图片描述

import torch
from sklearn.datasets import load_iris
# from sklearn.model_selection import train_test_split #train_test_split是sklearn中的一个函数,作用是将数据集划分为训练集和测试集
#数据准备
X, y = load_iris(return_X_y=True) #加载数据,X,y分别为特征和标签
X = X[:100] #取前100个样本
y = y[:100] #取前100个样本#创建张量数据集
tensor_x = torch.tensor(X, dtype=torch.float32)
tensor_y = torch.tensor(y, dtype=torch.float32)#超参数设置
learning_rate = 0.001
epochs = 500#模型参数
w = torch.randn(1, 4, requires_grad=True) #requires_grad=True表示w需要求导,1表示输出维度,4表示输入维度
b = torch.randn(1, requires_grad=True) #1表示输出维度

【注】

  1. 张量是一种容器
  2. 张量也是一种计算的方法,或说操作
  3. grad属性,梯度属性,保存参数梯度值
for i in range(epochs):  #前向计算z = torch.nn.functional.linear(tensor_x, w, b) #线性函数计算#z = torch.matmul(tensor_x, w.t()) + b #线性函数计算z = torch.sigmoid(z) #线性函数转为概率函数0-1之间#损失函数loss = torch.nn.functional.binary_cross_entropy(z.reshape(-1), tensor_y,reduction='mean') #二分类交叉熵损失函数#reduction='mean'表示对每个样本的损失求均值#计算梯度loss.backward() #计算梯度、梯度保存在w.grad和b.grad中#参数更新#with torch.no_grad()表示不需要梯度跟踪,不需要计算梯度,不需要梯度更新#with关键字是上下文管理器,用于简化资源管理,确保资源被及时释放(可以理解为作用域)with torch.no_grad(): #梯度清零,关闭梯度计算跟踪,防止梯度累加w -= learning_rate * w.gradb -= learning_rate * b.grad#梯度清零                w.grad.zero_()b.grad.zero_()#训练动态损失print('train loss:' ,loss.item())
train loss: 0.9154033064842224
train loss: 0.9093276262283325
train loss: 0.9033000469207764
train loss: 0.8973206877708435
train loss: 0.891389787197113
train loss: 0.8855075240135193
train loss: 0.8796738982200623
train loss: 0.873889148235321
train loss: 0.8681536912918091......
train loss: 0.37976446747779846
train loss: 0.37959033250808716
train loss: 0.3794163167476654
train loss: 0.379242479801178
train loss: 0.3790687322616577
train loss: 0.37889519333839417
train loss: 0.378721684217453
train loss: 0.37854844331741333
train loss: 0.3783752918243408
train loss: 0.37820228934288025
w.grad #查看w的梯度
tensor([[0., 0., 0., 0.]])

二元交叉熵计算损失维度要相同,不然报错,去掉维度
z.reshape(-1).shape #将z展平
z.squeeze().shape #将z压缩(去掉维度为1的维度)


torch.Size([100])

完整代码

import torch
from sklearn.datasets import load_iris
#数据准备
X, y = load_iris(return_X_y=True) 
X = X[:100] 
y = y[:100] #创建张量数据集
tensor_x = torch.tensor(X, dtype=torch.float32)
tensor_y = torch.tensor(y, dtype=torch.float32)#超参数设置
learning_rate = 0.001
epochs = 500#模型参数
w = torch.randn(1, 4, requires_grad=True) 
b = torch.randn(1, requires_grad=True) for i in range(epochs):  #前向计算z = torch.nn.functional.linear(tensor_x, w, b) z = torch.sigmoid(z) #损失函数loss = torch.nn.functional.binary_cross_entropy(z.reshape(-1), tensor_y,reduction='mean')#计算梯度loss.backward() #参数更新with torch.no_grad(): w -= learning_rate * w.gradb -= learning_rate * b.grad#梯度清零                w.grad.zero_()b.grad.zero_()#训练动态损失print('train loss:' ,loss.item())
http://www.dtcms.com/a/464281.html

相关文章:

  • 网站开发的付款方式项目管理系统开发
  • 做网站ssl证书必须要吗百度网盘搜索引擎入口在哪
  • 网站里的动效怎么做网站建设项目实训报告书
  • 定制网站建设广告河源手机网站制作
  • 免费flash网站模板网站为什么要icp备案
  • 泾阳网站建设网页设计代码fontweight什么意思
  • 用node做的网站广州企业网站模板购买
  • 慈溪哪点有学做网站的安徽建设工程信息网关闭 新网站
  • 网站的空间什么意思嵌入式开发培训班费用大概多少
  • wordpress网站阿里云备案号企业网站源码简约
  • 网站建设的目标客户html5 门户网站模版
  • 网站首页布局风格wordpress的编辑器插件安装
  • 网吧网站怎么做wordpress搭建在线教育
  • 网上注册公司全部流程如何选择百度网站优化公司
  • 赤峰网站策划上海建设工程咨询网官网
  • 超炫网站欣赏信息流优化师是什么
  • 网站备案需要多久安全的网站
  • 杭州做网站的新乐企业网站建设
  • 优秀的网站有哪些阜阳企业网站推广
  • 阿里云模板建站怎么样做程序员需要什么条件
  • 做网站需要懂哪些语言自适应网站开发教程
  • 厦门电信网站备案那个网站上找工程造价私活做
  • 江苏省现代化示范校建设网站大专学广告设计有用吗
  • 免费网站seo软件网站空间到期时间查询
  • 棋牌论坛网站怎么做建设局主要负责什么
  • 怎么进行网站备案成都网站建设及推广
  • 网站推广的优点网站空间提供商
  • 建网站公司锦程免费咨询服务费合同范本
  • 单页网站排名广告推广媒体
  • 温州市营销网站建设建设银行哈尔滨分行网站