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

企业网站手机版源码下载免费网络推广网站

企业网站手机版源码下载,免费网络推广网站,网站开发的套路,装修公司起名字大全免费Pytorch简介 PyTorch 是一个开源的深度学习框架,由 Facebook(现 Meta)的人工智能研究团队于2016年推出。它以灵活性和动态计算图著称,广泛应用于学术研究和工业领域。 核心特性 动态计算图(Dynamic Computation Grap…

Pytorch简介

PyTorch 是一个开源的深度学习框架,由 Facebook(现 Meta)的人工智能研究团队于2016年推出。它以灵活性和动态计算图著称,广泛应用于学术研究和工业领域。

核心特性

  • 动态计算图(Dynamic Computation Graph)
    支持在运行时定义和修改计算图(即“Define-by-Run”模式),便于调试和实现复杂模型(如循环神经网络、动态结构模型)。

  • 张量运算(Tensor Operations)
    提供类似 NumPy 的多维数组(torch.Tensor),支持 GPU 加速计算,并包含高效的数学运算库(如矩阵操作、自动广播)。

  • 自动微分(Autograd)
    通过 autograd 模块自动计算梯度,无需手动实现反向传播,简化了模型训练流程。

  • 模块化神经网络(Neural Network Modules)
    torch.nn 模块提供了预定义的层(如卷积层、LSTM)、损失函数和优化器(如 SGD、Adam),支持快速搭建复杂模型。

  • 分布式训练
    支持多GPU并行训练和分布式计算(通过 torch.distributed),适合处理大规模数据和模型。

安装

进入官方网站 根据实际情况进行选择,生产命令进行执行
正确选择后的安装命令

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

机器学习的基本流程

机器学习基本流程

Pytorch线性回归模型

基本的处理流程如下

  1. 加载数据
  2. 初始化模型
  3. 设置损失函数和优化方法
  4. 训练模型
  5. 使用模型进行预测
	import osos.environ['kmp_duplicate_lib_ok'] = "TRUE"import torchimport torch.nn as nnimport numpy as npimport matplotlib.pyplot as plt### 线性模型训练:y=w*x+b# 1. 定义训练集合x_train = np.array([[3.3], [4.4], [5.5], [6.71], [6.93], [4.168],[9.779], [6.182], [7.59], [2.167], [7.042],[10.791], [5.313], [7.997], [3.1]], dtype=np.float32)y_train = np.array([[1.7], [2.76], [2.09], [3.19], [1.694], [1.573],[3.366], [2.596], [2.53], [1.221], [2.827],[3.465], [1.65], [2.904], [1.3]], dtype=np.float32)# 2. 设置线性模型,nn是重要的模块input_size = 1output_size = 1model = nn.Linear(input_size, output_size)# 3. 设置损失函数和优化方法。损失函数计算误差;根据优化方法调整参数,目标是生成w,b;learning_rate相当于梯度下降的移动步长learning_rate = 0.001criterion = nn.MSELoss()optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate, )# 4. 训练模型num_epochs = 100  # 定义训练次数for epoch in range(num_epochs):# 数据转换为Tensorinputs = torch.from_numpy(x_train)targets = torch.from_numpy(y_train)# 放入模型中进行计算,得到输出outputs = model(inputs)# 通过损失函数计算误差(使用输出值与目标值进行)loss = criterion(outputs, targets)# 优化函数中的梯度清零,不清零可能有累积optimizer.zero_grad()# 反向传播,进行梯度计算loss.backward()# 沿着梯度方向进行参数调整optimizer.step()# 输出一些统计信息if (epoch+1) % 5 == 0:print('Epoch [{}/{}], loss: {:.4f}'.format(epoch+1, num_epochs, loss.item()))# 输出最终生成的模型数据,这里仅限于线性模型的生成数据print(model.weight)print(model.bias)# 5. 通过模型进行预测# 模型设置为评估状态model.eval()x_test = np.array([[6.5]], dtype=np.float32)# 禁用梯度计算with torch.no_grad():predictions = model(torch.from_numpy(x_test))  # 使用模型进行预测print(predictions.data.numpy())# 显示模型# Plot the graphpredicted = model(torch.from_numpy(x_train)).detach().numpy()plt.plot(x_train, y_train, 'ro', label='Original data')plt.plot(x_train, predicted, label='Fitted line')plt.legend()plt.show()

线性回归结果

Pytorch线性回归写法分解

上面的线性模型使用了Pytorch提供的很多方法,为了更好的进行理解,将上面的写法进行分解
分解的内容包括:模型的定义,损失函数、优化函数的写法,模型训练的写法

	import osos.environ['kmp_duplicate_lib_ok'] = "TRUE"import torchimport numpy as np### 线性模型训练:y=w*x+b# 1. 定义训练集合x_train = np.array([[3.3], [4.4], [5.5], [6.71], [6.93], [4.168],[9.779], [6.182], [7.59], [2.167], [7.042],[10.791], [5.313], [7.997], [3.1]], dtype=np.float32)y_train = np.array([[1.7], [2.76], [2.09], [3.19], [1.694], [1.573],[3.366], [2.596], [2.53], [1.221], [2.827],[3.465], [1.65], [2.904], [1.3]], dtype=np.float32)# 2. 设置线性模型,nn是重要的模块input_size = 1output_size = 1# 修改模型,改为自定义y=w*x+b; model = nn.Linear(input_size, output_size)w = torch.randn(input_size, requires_grad=True) # 跟踪变量运算b = torch.zeros(output_size, requires_grad=True)# 3. 设置损失函数和优化方法。损失函数计算误差;根据优化方法调整参数,目标是生成w,b;learning_rate相当于梯度下降的移动步长learning_rate = 0.001# 修改损失函数,在下面的训练中直接修改; criterion = nn.MSELoss()# 修改优化函数,在下面的训练中直接修改; optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate, )# 4. 训练模型num_epochs = 100  # 定义训练次数for epoch in range(num_epochs):# 数据转换为Tensorinputs = torch.from_numpy(x_train)targets = torch.from_numpy(y_train)for x, y in zip(inputs, targets):# 放入模型中进行计算,得到输出y_pred = torch.matmul(x,w) + b # 进行模型计算# 通过损失函数计算误差(使用输出值与目标值进行)loss = (y - y_pred).pow(2).mean() # 均方误差,差的评分求均值# 优化函数中的梯度清零,不清零可能有累积if not w.grad is None:w.grad.data.zero_()if not b.grad is None:b.grad.data.zero_()# 反向传播,进行梯度计算loss.backward() # 计算梯度,找到下降最快的位置# 沿着梯度方向进行参数调整with torch.no_grad():w.data -= w.grad.data * learning_rate  # 减去梯度*学习率b.data -= b.grad.data * learning_rate# 输出一些统计信息if (epoch+1) % 5 == 0:print('Epoch [{}/{}], loss: {:.4f}'.format(epoch+1, num_epochs, loss.item()))# 输出最终生成的模型数据,这里仅限于线性模型的生成数据print(w)print(b)# 5. 通过模型进行预测with torch.no_grad():test = 6.5value = w * 6.5 + bprint(value.data)

总结说明

上面是一个简单的基于Pythorch的线性回归使用例子,目的是对Pythorch有一个初步的认知,后续会逐步深入进行更详细的相关讲解

http://www.dtcms.com/wzjs/205679.html

相关文章:

  • 菜鸟教程网站开发今日要闻 最新热点
  • 做销售的去哪个网站应聘广州seo公司哪个比较好
  • 北京国税局网站做票种核定时软文写作是什么
  • 网站建设 验收近几天的新闻摘抄
  • 好的网站建设商家sem培训班
  • 21天网站建设实录网络工程师培训班要多少钱
  • 淮南专业网站建设抖音流量推广神器软件
  • 政府行业网站建设方案株洲发布最新通告
  • 没有网站做淘宝客91关键词排名
  • 四川和住房城乡建设厅网站首页如何推销网站
  • 网站开发投入产出分析常用的关键词挖掘工具有哪些
  • 巨野有做网站的公司吗外链群发
  • woshop商城源码seo综合查询爱站
  • 网站建设方案有关内容怎么宣传网站
  • 杭州强龙网站建设搜多多搜索引擎入口
  • 网站开发市场分析互联网广告
  • 在越南做网站都是什么人深圳网站建设开发公司
  • 汕头市政府门户网站市教育局频道营销100个引流方案
  • 长丰县住房和城乡建设局网站百度的推广方式有哪些
  • 井冈山网站建设百度助手官网
  • 在线免费图片编辑器前端seo是什么意思
  • 企业小程序要多少钱百度seo怎么做网站内容优化
  • 美容行业培训网站建设流氓网站
  • 潍坊网站优化公司谷歌搜索引擎下载
  • 查国外企业信息的网站网站免费推广
  • 营销型企业网站建设方案书百度网盘资源
  • 电影网站开发开题报告谷歌google中文登录入口
  • 设计精美的国外网站软文广告属于什么营销
  • 给博彩做网站营销型网站的类型有哪些
  • 做视频网站的条件洛阳seo外包公司费用