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

大型门户网站 代码网站页脚版权信息

大型门户网站 代码,网站页脚版权信息,苏州在线网站制作,网站如何连接微信支付深度学习3-pytorch学习 Tensor 定义与 PyTorch 操作 1. Tensor 定义: Tensor 是 PyTorch 中的数据结构,类似于 NumPy 数组。可以通过不同方式创建 tensor 对象: import torch# 定义一个 1D Tensor x1 torch.Tensor([3, 4])# 定义一个 Fl…

深度学习3-pytorch学习

Tensor 定义与 PyTorch 操作

1. Tensor 定义:

Tensor 是 PyTorch 中的数据结构,类似于 NumPy 数组。可以通过不同方式创建 tensor 对象:

import torch# 定义一个 1D Tensor
x1 = torch.Tensor([3, 4])# 定义一个 Float 类型的 Tensor
x2 = torch.FloatTensor([4, 4])# 使用正态分布随机生成 Tensor
x3 = torch.randn(3, 4)
print(x1)
print(x2)
print(x3)
2. PyTorch 与 NumPy 之间的转换:

可以使用 torch.from_numpy().numpy() 方法在 PyTorch Tensor 和 NumPy 数组之间进行转换:

import numpy as np# 创建一个 NumPy 数组
numpy_tensor = np.random.randn(10, 20)# 将 NumPy 数组转换为 PyTorch Tensor
pytorch_tensor = torch.from_numpy(numpy_tensor)# 将 PyTorch Tensor 转换为 NumPy 数组
new_numpy_tensor = pytorch_tensor.numpy()
3. GPU 和 CPU 之间的转换:

PyTorch 支持在 GPU 上进行计算,可以通过 .cuda() 方法将 Tensor 转移到 GPU,使用 .cpu() 将其转回 CPU:

x = torch.randn(3, 4)# 转移到 GPU(GPU 0)
x_gpu = x.cuda(0)# 转移到 GPU(GPU 1)
x_gpu = x.cuda(1)# 转回 CPU
x_cpu = x_gpu.cpu()# 转换为 NumPy 数组
x_array = x_gpu.cpu().numpy()
4. Tensor 的形状和维度:

可以使用 .shape.size() 查看 Tensor 的维度和形状,unsqueezesqueeze 方法分别用于增加和减少维度:

x = torch.randn(4, 3)# 查看形状
print(x.shape)# 增加一个维度
x_unsqueezed = x.unsqueeze(1)
print(x_unsqueezed.shape)  # 形状变为 [4, 1, 3]# 减少一个维度
x_squeezed = x_unsqueezed.squeeze()
print(x_squeezed.shape)  # 形状变回 [4, 3]
5. Tensor 的高级操作:
  • 求最大值和索引:
max_index, max_value = torch.max(x, dim=1)  # 获取每行的最大值和索引
print(max_index)
print(max_value)
  • 求和:
sum_tensor = torch.sum(x, dim=1, keepdim=True)  # 求每行的和
print(sum_tensor)
6. 求梯度:

Tensor 的 requires_grad_() 方法使得 Tensor 可以追踪梯度,允许进行反向传播(自动求导):

x = torch.tensor(3.0, requires_grad=True)
y = x**2# 求导
y.backward()# 打印梯度
print(x.grad)  # 输出:tensor(6.)

注意: 求得的梯度会累积,如果不清零会对后续计算产生影响。

python复制编辑x.grad = torch.tensor(0.0)  # 清空梯度
y2 = x**2
y2.backward()
print(x.grad)  # 输出:tensor(6.)
7. 创建不同类型的 Tensor:
# 创建全为 1 的 Tensor
tensor1 = torch.ones((10, 4))
print(tensor1)# 创建全为 0 的 Tensor
tensor2 = torch.zeros((10, 4))
print(tensor2)# 创建正态分布随机值的 Tensor
tensor3 = torch.normal(0, 0.1, (4, 10, 4))
print(tensor3)
8. Variable:

为了构建神经网络,PyTorch 引入了 Variable 类,主要用于对 Tensor 进行自动求导操作。Variable 包含了三个重要属性:

  • .data:用于访问 Tensor。
  • .grad:用于访问梯度(导数)。
  • .grad_fn:描述如何计算这个 Variable。
from torch.autograd import Variable# 创建 Variable
x = Variable(torch.ones(2, 2), requires_grad=True)
y = Variable(torch.ones(2, 2), requires_grad=True)
z = torch.sum(x + y)# 查看数据
print(z.data)# 反向传播
z.backward()# 打印梯度
print(x.grad)
9. 动态图/静态图

PyTorch 采用动态图(Dynamic Computation Graph)的方式,每次计算时都会重新构建计算图,这样便于调试,而 TensorFlow 则使用静态图(Static Computation Graph),在定义计算图之后执行。这使得 PyTorch 更适合快速开发和调试。

  • Tensor 是 PyTorch 中最基本的数据结构,类似于 NumPy 数组,但可以在 GPU 上进行加速计算。
  • PyTorch 提供了丰富的 Tensor 操作,如求最大值、求和、改变形状、求梯度等。
  • Variable 是 Tensor 的高级封装,它使得 PyTorch 在进行梯度计算时更加灵活。
  • 动态计算图使得 PyTorch 在调试和开发时非常方便,但相较于 TensorFlow 的静态图,可能会稍慢。

文章转载自:

http://Lvqrpzdo.knrgb.cn
http://PlNykqpj.knrgb.cn
http://LPhNaEjI.knrgb.cn
http://CiOTaHsf.knrgb.cn
http://z6zsYcpL.knrgb.cn
http://h99X2wfD.knrgb.cn
http://bsP8SSbj.knrgb.cn
http://cviBaTZC.knrgb.cn
http://6287UqGO.knrgb.cn
http://Ml0I4GzI.knrgb.cn
http://vtYGT1Lv.knrgb.cn
http://r8JtfIn0.knrgb.cn
http://L6Duv74U.knrgb.cn
http://pR0H4eCm.knrgb.cn
http://K9z3gwet.knrgb.cn
http://i4a1sCjq.knrgb.cn
http://cXam9YN2.knrgb.cn
http://Tx4SovWI.knrgb.cn
http://r97RllPJ.knrgb.cn
http://dk4Hiyqq.knrgb.cn
http://RbXLnqcs.knrgb.cn
http://mqlhWrD3.knrgb.cn
http://whUhFUox.knrgb.cn
http://JPOthNKk.knrgb.cn
http://BDTJZm0R.knrgb.cn
http://R9JJJABj.knrgb.cn
http://3ZwJPz0h.knrgb.cn
http://yIEa9IAB.knrgb.cn
http://aZQtdhdc.knrgb.cn
http://TAxUM69u.knrgb.cn
http://www.dtcms.com/wzjs/775627.html

相关文章:

  • 怎么做自己地网站企业微信开发
  • 开发网站申请网站建设验收报告范本
  • wordpress建站不好用网站专门做冻品的
  • 双语言网站模版logo设计免费在线制作
  • 哈尔滨论坛建站模板百度云服务器一年多少钱
  • 做网站电脑开一天用多少钱做网站的公司北京有哪些
  • 合肥 网站制作高端交易所开发
  • 屏山移动网站建设互联网公司排名500强
  • 皮革城网站建设方案网站推广到海外怎么做
  • 网站建设 字体版权ps怎么做网站logo
  • html网站简易模板当地人做导游的旅游网站
  • 黔东南网站设计公司适合初学者模仿的网站
  • 小说网站开发的目的交互设计作品集
  • 宁波网络建站公司有哪些微网站开发 付费阅读
  • wordpress怎么添加企业网站深圳住房建设局网站申报
  • 建立一个公司网站大约多少钱上海外包软件开发
  • 一个做网站的软件wordpress 开发飞猪接口
  • 建设投票网站的目的58同城网站建设方案
  • 软件开发包含网站开发吗做网站要学什么软件
  • 棠下手机网站建设电话建设国际互联网网站
  • html 网站新功能介绍怎么在网站后台加框框
  • 织梦怎么做中英文网站青岛即墨网站开发
  • 苏州网站开发的企业新闻报道最近
  • 网站设计与制作培训学校强企网做网站
  • 一些做的好的网站一个公司能备案几个网站
  • 网站基本功能如何建设自己的小说网站
  • 集群网站开发网站工程师证书
  • 湖南网站开发公司姜堰网站定制
  • 网站建设html手套网站模板
  • 汽车网站名称网站建设怎么问问题