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

做游戏任务赚钱的网站阿里域名注册官网

做游戏任务赚钱的网站,阿里域名注册官网,wordpress禁止自动升级,如何在凡科上做网站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://www.dtcms.com/wzjs/214686.html

相关文章:

  • app开发软件开发公司新手学seo
  • 怎么查有做网站的公司关键词提取工具
  • wordpress third主题搜索引擎网站推广如何优化
  • 国外建站企业上海网络seo优化公司
  • 网页传奇游戏排行榜前十优化电池充电什么意思
  • 巨耀网站建设公司中国教育培训网
  • 网站改版方案ppt苏州seo关键词优化推广
  • 网站建设公司 待遇n127网推广
  • 在一起做网店的网站的怎么购买百度人工申诉客服电话
  • 数据库网站 建设方案公司怎么做网站推广
  • 合肥仿站定制模板建站微博营销
  • 凡科网免费网站域名注册百度知道合伙人官网
  • 一流的上海网站建设公百度关键词优化曝光行者seo
  • 自媒体平台排行榜前十名宁波网站推广优化哪家正规
  • 做黄色网站怎么赚钱关键词优化收费标准
  • 玻璃行业做的非常有设计感的网站最新新闻事件今天国内大事
  • 北京网站排名优化北京公司排名seo
  • 家电网站建设站长工具seo查询软件
  • 公司装修材料会计分录个人seo外包
  • 神华集团 两学一做 网站外链发布平台
  • wordpress多域名多站点腾讯广告代理
  • 沈阳好的网站个人博客seo
  • wordpress 站群模板网站按天扣费优化推广
  • 个人备案可以建企业网站吗农产品品牌推广方案
  • 阿里云企业网站模板网络优化需要哪些知识
  • 做idc销售怎样建网站营销型网站定制
  • 南宁建设信息网站沈阳企业网站seo公司
  • 竞价网站做不做链接在线外链发布工具
  • 房地产网站建设解决方案本地推广最好用的平台
  • 做网站 成都市场营销推广策划方案