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

乐山建设局网站深圳关键词排名优化系统

乐山建设局网站,深圳关键词排名优化系统,做的好的网站有哪些,西安网站建设网络公司熊掌号Pytorch 是目前常用的深度学习框架之一,比起 TF 的框架环境配置不兼容,和 Keras 由于高度封装造成的不灵活,PyTorch 无论是在学术圈还是工业界,都相当占优势。 不夸张地说,掌握了 PyTorch ,就相当于走上了…

Pytorch 是目前常用的深度学习框架之一,比起 TF 的框架环境配置不兼容,和 Keras 由于高度封装造成的不灵活,PyTorch 无论是在学术圈还是工业界,都相当占优势。

不夸张地说,掌握了 PyTorch ,就相当于走上了深度学习、机器学习、大模型的快车道。

它凭借着对初学者的友好性、灵活性,发展迅猛,也深受学生党的喜爱。

但是目前市面上的Pytorch学习资料并不系统,且很多资源都非中文版,从业者的学习门槛比较高。

整体概览

图片

部分内容

下面是在 PyTorch 中创建张量和进行基本操作的详细介绍。

1. 张量的创建

从 Python 列表或 NumPy 数组创建张量:

import torch
import numpy as np# 从列表创建张量
tensor_from_list = torch.tensor([1, 2, 3])# 从 NumPy 数组创建张量
numpy_array = np.array([4, 5, 6])
tensor_from_numpy = torch.tensor(numpy_array)

使用特定值创建张量:

# 创建全零张量
zeros_tensor = torch.zeros((3, 4))# 创建全一张量
ones_tensor = torch.ones((2, 2))# 创建指定范围的张量
range_tensor = torch.arange(0, 10, 2)# 创建均匀分布的张量
uniform_tensor = torch.rand((3, 3))# 创建正态分布的张量
normal_tensor = torch.randn((2, 2))

使用特定形状的张量:

# 创建未初始化的张量
uninitialized_tensor = torch.empty((2, 2))# 创建与现有张量相同形状的张量
like_tensor = torch.ones_like(zeros_tensor)

2. 张量的基本操作

索引和切片:

# 获取张量中的特定元素
element = tensor_from_list[1]# 切片操作
sliced_tensor = tensor_from_list[1:3]

张量的形状操作:

# 获取张量的形状
shape = tensor_from_list.shape# 改变张量的形状
reshaped_tensor = tensor_from_list.view(1, 3)# 转置张量
transposed_tensor = tensor_from_list.t()

数学运算:

# 加法
sum_tensor = tensor_from_list + tensor_from_numpy# 乘法
product_tensor = torch.matmul(zeros_tensor, ones_tensor)# 广播操作
broadcasted_tensor = tensor_from_list * 2

这些功能使得 PyTorch 成为深度学习领域的一流选择,因为它提供了方便、灵活且高效的工具来处理张量和构建神经网络模型。

自动求导

PyTorch中的自动求导(Autograd)允许用户自动计算张量的梯度,而无需手动编写反向传播算法。

Autograd的核心是计算图(computational graph),它记录了计算张量的操作,并在需要时能够生成梯度。

1. 张量的requires_grad属性

在创建张量时,可以通过设置requires_grad属性为True来指示PyTorch跟踪对该张量的操作,从而构建计算图。

import torch# 创建一个需要梯度的张量
x = torch.tensor([1.0, 2.0], requires_grad=True)

2. 张量操作和计算图

一旦设置了requires_grad=True,PyTorch将自动追踪对该张量的所有操作,构建一个计算图。这个计算图记录了张量之间的关系和操作。

y = x + 2
z = y * y * 3
out = z.mean()

上述例子中,yzout 都是通过对 x 进行操作得到的新张量,这些操作构成了计算图。

3. 计算梯度

一旦有了计算图,可以调用 backward() 方法计算梯度。梯度计算完成后,可以通过张量的 grad 属性获取梯度值。

out.backward()  # 计算梯度# 获取梯度
print(x.grad)

4. 阻止梯度追踪

在某些情况下,可能需要阻止PyTorch对某些操作的梯度追踪,可以使用 torch.no_grad() 上下文管理器或者在张量上使用 .detach() 方法。

with torch.no_grad():# 不追踪梯度的操作y = x + 2# 或者
z = y.detach()

5. 使用with torch.autograd.set_grad_enabled(False):控制梯度计算

在某些情况下,可能需要在一段代码中关闭梯度计算,可以使用上下文管理器 torch.autograd.set_grad_enabled

with torch.autograd.set_grad_enabled(False):# 在此处的操作不会被追踪,也不会计算梯度y = x + 2

6. 示例:使用自动求导进行优化

import torch.optim as optim# 定义一个变量并设置需要梯度
x = torch.tensor([1.0, 2.0], requires_grad=True)# 定义一个优化器(例如梯度下降)
optimizer = optim.SGD([x], lr=0.01)# 在循环中执行优化步骤
for _ in range(100):y = x + 2loss = y[0] * y[1]  # 这里定义了一个简单的损失函数optimizer.zero_grad()  # 清零梯度loss.backward()  # 计算梯度optimizer.step()  # 更新参数# 查看优化后的结果
print(x)

这个例子演示了如何使用自动求导来执行优化步骤,通过反向传播计算梯度并使用优化器更新参数。

总体而言,PyTorch中的自动求导提供了一个方便的工具,使得深度学习的模型训练变得更加简单和高效。

神经网络层

在 PyTorch 中,nn.Module 是构建神经网络模型的基础类。nn.Module 提供了一个模块化和灵活的方式来组织复杂的神经网络结构。通过继承 nn.Module 类,可以创建自定义的神经网络层、模型或整个神经网络。

1. 创建一个简单的神经网络层

import torch
import torch.nn as nnclass SimpleLayer(nn.Module):def __init__(self, input_size, output_size):super(SimpleLayer, self).__init__()self.linear = nn.Linear(input_size, output_size)self.relu = nn.ReLU()def forward(self, x):x = self.linear(x)x = self.relu(x)return x

上面的例子中,SimpleLayer 继承自 nn.Module,并定义了一个包含线性层(nn.Linear)和激活函数 ReLU 的简单神经网络层。forward 方法定义了前向传播的计算过程。

2. 构建更复杂的模型

可以通过将多个神经网络层组合在一起构建更复杂的模型。下面是一个简单的多层感知机 (MLP) 的例子:

class MLP(nn.Module):def __init__(self, input_size, hidden_size, output_size):super(MLP, self).__init__()self.layer1 = SimpleLayer(input_size, hidden_size)self.layer2 = SimpleLayer(hidden_size, output_size)def forward(self, x):x = self.layer1(x)x = self.layer2(x)return x

3. 模块的嵌套和子模块

nn.Module 支持嵌套和包含其他 nn.Module 实例,这有助于构建更复杂的神经网络。子模块会自动跟踪其参数和梯度。

class ComplexModel(nn.Module):def __init__(self):super(ComplexModel, self).__init__()self.layer1 = SimpleLayer(10, 20)self.layer2 = MLP(20, 30, 5)def forward(self, x):x = self.layer1(x)x = self.layer2(x)return x

4. 访问模块的参数

通过 named_parameters()parameters() 方法可以访问模块中的所有参数。

model = ComplexModel()
for name, param in model.named_parameters():print(f"{name}: {param.size()}")

5. 模型的保存和加载

可以使用 torch.save 保存模型的状态字典,并使用 torch.load 加载模型。

# 保存模型
torch.save(model.state_dict(), 'model.pth')# 加载模型
loaded_model = ComplexModel()
loaded_model.load_state_dict(torch.load('model.pth'))

获取方式

技术要学会分享、交流,不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。

成立了 PyTorch 算法技术交流群,相关资料、技术交流&答疑,均可加我们的交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、微信搜索公众号:机器学习社区,后台回复:PyTorch 实战宝典
方式②、添加微信号:mlc2040,备注:来自CSDN + PyTorch 实战宝典

通俗易懂讲解大模型系列

  • 《大模型面试宝典》(2024版) 正式发布!
  • 《大模型实战宝典》(2024版) 正式发布!

精彩项目

CV八大项目

包括图像分类、图像分割、目标检测、目标跟踪、GAN生成、Diffusion生成、图像描述和图像检索八大任务。

图片

NLP

包括RNN、LSTM、Transformer、BERT和GPT模型详解与应用,应用的任务有文本分类、机器翻译、命名体识别、QA问答和文章生成五大任务。

图片

LLM部分

包括4个LLM部署与代码分析和一个LLM行业应用——GPT Academic(GPT 学术优化),LLM包括国内开源的四大主流模型,Qwen、ChatGLM、Baichuan和Yi。

图片


文章转载自:

http://XPwSYmM4.ptwqf.cn
http://yyr0stbD.ptwqf.cn
http://NZAjLNyg.ptwqf.cn
http://MsFladcA.ptwqf.cn
http://pZru7Hii.ptwqf.cn
http://3gTC00Dq.ptwqf.cn
http://Kb3e9UGZ.ptwqf.cn
http://IVNZrMc1.ptwqf.cn
http://EVB91mOd.ptwqf.cn
http://pjI3TsA5.ptwqf.cn
http://y0Uxl1RQ.ptwqf.cn
http://LiKl1Xl5.ptwqf.cn
http://u7J1fKeC.ptwqf.cn
http://uTn1f0JI.ptwqf.cn
http://8WgScFmR.ptwqf.cn
http://xTR82ag4.ptwqf.cn
http://TWmlxX2o.ptwqf.cn
http://bhELEyeh.ptwqf.cn
http://sfI3cCNa.ptwqf.cn
http://Im9DhWrf.ptwqf.cn
http://qRgDi8nY.ptwqf.cn
http://RWSwNlcV.ptwqf.cn
http://Xx02uSiJ.ptwqf.cn
http://qM3hJdRE.ptwqf.cn
http://IvEtHfy8.ptwqf.cn
http://nHrEI8y3.ptwqf.cn
http://cbu0MQwL.ptwqf.cn
http://bsSziDIJ.ptwqf.cn
http://5EKay3VX.ptwqf.cn
http://kxITUXLY.ptwqf.cn
http://www.dtcms.com/wzjs/653220.html

相关文章:

  • 怎么做网站推广方案怎么建设手机端网站
  • 东莞网站建设(信科分公司)郑州外贸网站建设
  • 怎么做58网站吊车网给公众号做头像的网站
  • 优创智汇高端网站建设电话怎么样阿迪达斯网站建设定位
  • 永久个人网站qq小程序开放平台
  • 南宁购物网站建设可视化网页制作
  • 公司网站怎么做百度竞价汽车金融网站怎么做
  • 外贸论坛网站有哪些建设网站需要什么条件
  • 网上做物理题赚钱的网站flow创意博客wordpress主题
  • 无锡建设工程项目代码申请网站网站影响seo的标签
  • 用照片做的ppt模板下载网站乐清网站推广公司
  • 可以做ps兼职的网站wordpress 主题路径
  • 广东省公路建设有限公司网站wordpress安装论坛
  • 油漆工找活做的网站北京网站建设哪家专业
  • 国外优秀网站欣赏对网站建设的维护
  • 网站建设与管理实验目的建设通网站vip
  • 做网站还是移动开发网络建设需求
  • 科普网站建设的支持力度河南天元建设公司网站
  • 谷歌外贸建站多少钱整站seo排名外包
  • 服装网站建设目标有没有关于网站开发的名人访谈
  • 西安做网站公司必达网站开发外包哪家好
  • 网站开发人才可以自学做网站吗
  • 网站栏目内链怎么做水果电商网站开发方案
  • 物流运输网seo研究中心培训机构
  • 上杭县铁路建设办公室网站做手机旅游网站
  • 飞翔时代网站建设wordpress文件上传失败
  • 写作参考范文网站wordpress 前端构建
  • 网站备案号被收回价格低的英文怎么说
  • 小说网站个人可以做吗顾家家居网站是哪个公司做的
  • 用asp制作一个简单的网站wordpress4.9.5漏洞