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

哪个网站可以兼职做家教手机网站 栏目定制

哪个网站可以兼职做家教,手机网站 栏目定制,直播网站的建设,深圳市网站推广公司Pytorch大致流程一览表: 主题内容1 准备数据数据几乎可以是任何东西,但在开始之前,我们将创建一条简单的直线2 建立模型在这里,我们将创建一个模型来学习数据中的模式,我们还将选择损失函数,优化器并构建一个训练循环。3 拟合模型我们已经有了数据和模型,现在让模型尝试…

Pytorch大致流程一览表:

主题内容
1 准备数据数据几乎可以是任何东西,但在开始之前,我们将创建一条简单的直线
2 建立模型在这里,我们将创建一个模型来学习数据中的模式,我们还将选择损失函数,优化器并构建一个训练循环。
3 拟合模型我们已经有了数据和模型,现在让模型尝试在(训练)数据中找到模式。
4预测和评估模型(推断)我们的模型在数据中发现了模式,让我们将其发现与实际(测试)数据进行比较。
5 保存和载入模型您可能希望在其他地方使用您的模型,或者稍后再使用它,我们将在这里介绍它。
6 结合让我们把上面所有的东西结合起来。

好了,现在我们开始!

我们去将使用torch,torch.nn (nn代表神经网络,这个包包含在PyTorch中创建神经网络的构建块)和matplotlib。

import torch
from torch import nn # nn contains all of PyTorch's building blocks for neural networks
import matplotlib.pyplot as plt# Check PyTorch version
print(torch.__version__)

输出为:

2.7.0+cu118

下面进入第一个主题

1 数据准备

机器学习是一个由两部分组成的游戏:

首先,把你的数据,不管它是什么,转换成数字(一种表示)。

最后,选择或构建一个模型来尽可能地学习表征。

有时这两个步骤可以同时完成。

但是如果你没有数据呢?

嗯,这就是我们现在的处境。

没有数据。

但是我们可以创造一些。

让我们将数据创建为一条直线。

我们将使用线性回归来创建具有已知参数的数据(可以通过模型学习的东西),然后我们将使用PyTorch来查看我们是否可以构建模型来使用梯度下降来估计这些参数。

如果上面的术语现在没有多大意义,不要担心,我们将看到它们的实际应用,我将在下面提供额外的资源,以便您可以了解更多信息。

# Create *known* parameters
weight = 0.7
bias = 0.3# Create data
start = 0
end = 1
step = 0.02
X = torch.arange(start, end, step).unsqueeze(dim=1)
y = weight * X + biasprint(X[:10])
print( y[:10])

输出为:

tensor([[0.0000],[0.0200],[0.0400],[0.0600],[0.0800],[0.1000],[0.1200],[0.1400],[0.1600],[0.1800]])
tensor([[0.3000],[0.3140],[0.3280],[0.3420],[0.3560],[0.3700],[0.3840],[0.3980],[0.4120],[0.4260]])

现在我们将着手构建一个可以学习X(特征)和y(标签)之间关系的模型。

将数据分成训练集和测试集

我们有一些数据。

但在我们建立模型之前,我们需要把它拆开。

机器学习项目中最重要的步骤之一是创建一个训练和测试集(如果需要,还可以创建一个验证集)。

数据集的每次拆分都有一个特定的目的:

拆分项目的数据比例频率
训练集模型从这些数据中学习(比如你在学期中学习的课程材料)60~80%总是
验证集模型会根据这些数据进行调整(就像期末考试前的练习考试一样)10~20%经常
测试集模型根据这些数据进行评估,以测试它学到了什么(就像你在学期末参加的期末考试一样)10~20%总是

现在,我们只使用一个训练和测试集,这意味着我们将有一个数据集供我们的模型学习和评估。

我们可以通过分割X和y张量来创建它们。

[!CAUTION]

注意:当处理真实数据时,这一步通常在项目开始时完成(测试集应该始终与所有其他数据分开)。我们希望我们的模型从训练数据中学习,然后在测试数据上评估它,以获得它对未见过的例子的泛化程度的指示。

# Create train/test split
train_split = int(0.8 * len(X)) # 80% of data used for training set, 20% for testing 
X_train, y_train = X[:train_split], y[:train_split]
X_test, y_test = X[train_split:], y[train_split:]print(len(X_train))
print( len(y_train))
print( len(X_test))
print( len(y_test))

输出为:

40
40
10
10

很好,我们有40个训练样本(X_train & y_train)和10个测试样本(X_test & y_test)。

我们创建的模型将尝试学习X_train和y_train之间的关系,然后我们将评估它在X_test和y_test上的学习结果。

但现在我们的数据只是页面上的数字。

让我们创建一个函数来形象化。

def plot_predictions(train_data=X_train, train_labels=y_train, test_data=X_test, test_labels=y_test, predictions=None):"""Plots training data, test data and compares predictions."""plt.figure(figsize=(10, 7))# Plot training data in blueplt.scatter(train_data, train_labels, c="b", s=4, label="Training data")# Plot test data in greenplt.scatter(test_data, test_labels, c="g", s=4, label="Testing data")if predictions is not None:# Plot the predictions in red (predictions were made on the test data)plt.scatter(test_data, predictions, c="r", s=4, label="Predictions")# Show the legendplt.legend(prop={"size": 14});plot_predictions()
plt.show()  

结果为:

在这里插入图片描述

现在我们的数据不再是纸上的数字,而是一条直线。

[!CAUTION]

注意:现在是向您介绍数据浏览器的座右铭的好时机……“具象化!”

当你在处理数据并将其转化为数字时,想想这个,如果你能将一些东西形象化,它就会对理解产生神奇的作用。

机器喜欢数字,我们人类也喜欢数字,但我们也喜欢观察事物。

2 构建模型

现在我们有了一些数据,让我们建立一个模型,用蓝点来预测绿点。

我们马上就开始。

我们将首先编写代码,然后解释所有内容。

让我们使用纯PyTorch复制一个标准线性回归模型。

# Create a Linear Regression model class
class LinearRegressionModel(nn.Module): # <- almost everything in PyTorch is a nn.Module (think of this as neural network lego blocks)def __init__(self):super().__init__() self.weights = nn.Parameter(torch.randn(1, # <- start with random weights (this will get adjusted as the model learns)dtype=torch.float), # <- PyTorch loves float32 by defaultrequires_grad=True) # <- can we update this value with gradient descent?)self.bias = nn.Parameter(torch.randn(1, # <- start with random bias (this will get adjusted as the model learns)dtype=torch.float), # <- PyTorch loves float32 by defaultrequires_grad=True) # <- can we update this value with gradient descent?))# Forward defines the computation in the modeldef forward(self, x: torch.Tensor) -> torch.Tensor: # <- "x" is the input data (e.g. training/testing features)return self.weights * x + self.bias # <- this is the linear regression formula (y = m*x + b)

好了,上面有很多内容,但是让我们一点一点地分解。

PyTorch模型构建要领

PyTorch有四个基本模块,你可以用它来创建几乎任何你能想到的神经网络。

他们是torch. nn, torch. optim, torch.utils.data.Dataset 以及torch.utils.data.DataLoader.。现在,我们将重点关注前两个,稍后再讨论另外两个(尽管您可能能够猜到它们的作用)。

PyTorch 模块功能
torch. nn包含计算图的所有构建块(本质上是以特定方式执行的一系列计算)
torch.nn.Parameter存储可与nn. module一起使用的张量。如果requires_grad=True梯度(用于通过梯度下降更新模型参数)是自动计算的,这通常被称为“autograd”
torch.nn.Module所有神经网络模块的基类,神经网络的所有构建块都是子类。如果你在PyTorch中构建一个神经网络,你的模型应该继承nn.Module。需要实现forward()方法。
torch.optim包含各种优化算法(这些算法告诉模型参数存储在nn中。参数如何最好地改变,以改善梯度下降,从而减少损失)。
def forward()所有的神经网络。模块子类需要forward()方法,该方法定义了将在传递给特定nn的数据上进行的计算。模块(例如上面的线性回归公式)

如果上面听起来很复杂,可以这样想,PyTorch神经网络中的几乎所有内容都来自torch.nn,

torch.nn.Module包含较大的构建块(层)

torch.nn.Parameter包含较小的参数,如权重和偏差(将这些放在一起创建nn. module (s))

forward() 告诉较大的块如何对nn. module (s)中的输入(充满数据的张量)进行计算。

torch.optim包含了如何改进nn内参数的优化方法。参数以更好地表示输入数据

检查PyTorch模型的内容

现在我们已经解决了这些问题,让我们用我们创建的类创建一个模型实例,并使用.parameters()检查它的参数。

# Set manual seed since nn.Parameter are randomly initialized
torch.manual_seed(42)# Create an instance of the model (this is a subclass of nn.Module that contains nn.Parameter(s))
model_0 = LinearRegressionModel()# Check the nn.Parameter(s) within the nn.Module subclass we created
print(list(model_0.parameters()))

输出为:

[Parameter containing:
tensor(

文章转载自:

http://xIRQjLJQ.rgyts.cn
http://ZzhHTaOA.rgyts.cn
http://gxfMSKx5.rgyts.cn
http://JBCFeq8X.rgyts.cn
http://4KXNBgkP.rgyts.cn
http://SzA6pI0z.rgyts.cn
http://hjSN0DWn.rgyts.cn
http://pdsI7VAw.rgyts.cn
http://p96ktY6P.rgyts.cn
http://5aWbDyGL.rgyts.cn
http://dwMmhlHR.rgyts.cn
http://TD6wN2M1.rgyts.cn
http://7pXTwkwT.rgyts.cn
http://zi9lhnol.rgyts.cn
http://3smJvWjs.rgyts.cn
http://ZlY5n8aU.rgyts.cn
http://SBrY3Mod.rgyts.cn
http://lYX8f0Q5.rgyts.cn
http://3Ez54VbM.rgyts.cn
http://Hxzbnu3b.rgyts.cn
http://ZDAEqtCQ.rgyts.cn
http://Hn2zTanI.rgyts.cn
http://EG6jfGyY.rgyts.cn
http://eUebwBg8.rgyts.cn
http://Bugw8rQB.rgyts.cn
http://0Vo3WrfC.rgyts.cn
http://hYb8vu0w.rgyts.cn
http://b9bMOIuU.rgyts.cn
http://oNNhtcHG.rgyts.cn
http://54MNFnmY.rgyts.cn
http://www.dtcms.com/wzjs/705948.html

相关文章:

  • 网站开发费怎么做账河北省建筑培训网
  • 用vs怎么做网站的导航刷会员网站怎么做
  • 天津房价seowhy友链
  • 私人接做网站违法么义乌外贸网站建设行吗
  • 铁路建设标准网站科技与人文
  • 自己的电脑做网站当服务器使用东莞高端品牌网站建设价格
  • 奥联网站建设怎么自己做免费网站
  • 网站开发要什么软件有哪些网站 流量 不够用
  • 网站建设贵苏州网站开发费用详情
  • 定制手机微网站网站宣传视频
  • 做好三步网站改版工具不降权 无忧老师制作公司网站怎么做
  • 青岛圭谷网站建设公司怎么样网站排名优化外包公司
  • 大型网站服务器架构高端设计网站
  • 网站怎样才有流量各大网站做推广广告
  • 站长之家的作用重庆万州网站建设找谁
  • 管理手机网站首页肥城网站制作
  • 企业门户网站模板分享成都网络营销精英
  • 网站左侧广告代码安庆市重点工程建设局网站
  • 做网站用虚拟主机还是服务器wordpress同学录
  • 丹阳网站建设要多少钱大兴黄村网站建设
  • 成都科盛兴网站建设有限公司description+wordpress
  • 设计素材网站图案免费wordpress上的博客
  • 网站模板文章资讯浙江建设人才网
  • 做网站和编程序网站分享组件
  • 建设一个收入支出持平的网站河北省邢台市建设工程网站
  • 做网站的软件工程师wordpress局域网404
  • storyset自定义插画网站网站建设服
  • 什么网站可以免费做视频写安卓软件用什么工具
  • 台州电子商务网站开发360网站图标怎么做的
  • 域名网站空间网站程序上传教程