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

网站怎么做微信送红包活动wordpress自定义链接不能用

网站怎么做微信送红包活动,wordpress自定义链接不能用,廊坊酒店网站建设,新闻发布会稿子文章目录 1. 简单行、列索引1.1. 基础用法1.2. 工程实践要点 2. 列表索引2.1. 基础用法2.2. 高级用法2.3. 性能考虑 3. 范围索引3.1. 基础用法3.2. 高级技巧3.3. 内存特性 4. 布尔索引4.1. 基础用法4.2. 高级用法4.3. 性能注意事项 5. 多维索引5.1. 基础用法5.2. 高级模式5.3. …

文章目录

  • 1. 简单行、列索引
    • 1.1. 基础用法
    • 1.2. 工程实践要点
  • 2. 列表索引
    • 2.1. 基础用法
    • 2.2. 高级用法
    • 2.3. 性能考虑
  • 3. 范围索引
    • 3.1. 基础用法
    • 3.2. 高级技巧
    • 3.3. 内存特性
  • 4. 布尔索引
    • 4.1. 基础用法
    • 4.2. 高级用法
    • 4.3. 性能注意事项
  • 5. 多维索引
    • 5.1. 基础用法
    • 5.2. 高级模式
    • 5.3. 工程实践
  • 6. 综合性能比较
  • 7. 最佳实践建议

1. 简单行、列索引

简单的行、列索引是最基本的索引操作,通过整数来访问张量中的元素。可以使用类似数组索引的方式来操作。

1.1. 基础用法

import torch# 创建一个3x4的矩阵
x = torch.tensor([[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12]])# 获取第2行(索引从0开始)
row = x[1]  # tensor([5, 6, 7, 8])# 获取第3列
col = x[:, 2]  # tensor([3, 7, 11])

1.2. 工程实践要点

内存视图:简单索引返回的是原张量的视图,不复制数据

性能:O(1)时间复杂度,是最快的索引方式

GPU兼容:在CUDA张量上同样高效

# 获取连续多行/多列
rows = x[1:3]  # 第2-3行
cols = x[:, 1:3]  # 第2-3列

2. 列表索引

列表索引是通过一个列表或数组来选择张量中的多个元素。这种索引方式可以选择多个位置的元素,并返回一个新的张量。

2.1. 基础用法

# 使用列表选择特定行
selected_rows = x[[0, 2]]  # 第1和第3行# 使用列表选择特定列
selected_cols = x[:, [1, 3]]  # 第2和第4列# 选择特定元素
elements = x[[0, 1, 2], [1, 2, 3]]  # (0,1), (1,2), (2,3)位置的元素

2.2. 高级用法

# 创建索引张量(比Python列表更高效)
indices = torch.tensor([0, 2], device=x.device)
selected = x[indices]  # 第1和第3行# 组合行列索引
x[[[0], [2]], [1, 3]]  # 第1/3行的第2/4列 → 2x2矩阵

2.3. 性能考虑

内存开销:列表索引会创建新张量,复制数据

替代方案:对于连续索引,优先使用切片

GPU优化:将索引张量放在与数据相同的设备上

3. 范围索引

范围索引允许你选择张量的一个切片,类似于 Python 列表的切片操作。通过起始索引和结束索引来选择一段连续的元素

3.1. 基础用法

# 基本范围切片
sub_matrix = x[0:2, 1:3]  # 第1-2行,第2-3列# 带步长的范围切片
every_other = x[::2, ::3]  # 每隔一行/三列选取# 反向索引
reversed_rows = x[::-1]  # 行顺序反转

3.2. 高级技巧

# 创建范围索引张量
range_idx = torch.arange(1, 3)  # tensor([1, 2])
selected = x[range_idx]  # 第2-3行# 结合步长和偏移
strided = x[1::2, ::2]  # 从第2行开始每隔一行,所有列每隔一个

3.3. 内存特性

连续范围:返回视图,不复制数据

非连续范围:可能触发拷贝操作

最佳实践:尽量使用基础切片而非arange创建的范围

4. 布尔索引

布尔索引是根据条件来选择张量中的元素。它使用一个布尔数组或条件表达式来判断哪些元素符合条件,从而选择它们。

4.1. 基础用法

# 创建布尔掩码
mask = x > 5
# tensor([[False, False, False, False],
#        [False,  True,  True,  True],
#        [ True,  True,  True,  True]])# 应用布尔索引
selected = x[mask]  # tensor([6, 7, 8, 9, 10, 11, 12])# 条件赋值
x[x % 2 == 0] = 0  # 将所有偶数置0

4.2. 高级用法

# 多条件组合
mask = (x > 3) & (x < 9)
selected = x[mask]# 按行/列条件索引
row_mask = torch.any(x > 10, dim=1)  # 选择包含大于10的元素的整行
selected_rows = x[row_mask]

4.3. 性能注意事项

掩码创建:布尔操作会创建临时张量

内存占用:大张量的布尔掩码会消耗大量内存

GPU优势:布尔索引在CUDA上并行化效果极佳

5. 多维索引

多维索引可以是混合多种索引方式,包括整数索引、切片索引、布尔索引等。它让你能够根据复杂的条件或结构对张量进行切片和访问

5.1. 基础用法

# 创建3D张量
y = torch.randn(2, 3, 4)  # batch=2, seq_len=3, features=4# 各维度单独索引
elem = y[1, 2, 3]  # 第2个batch,第3个序列,第4个特征# 混合索引方式
sub_tensor = y[1, :, [0, 2]]  # 第2个batch,所有序列,第1和3个特征

5.2. 高级模式

# 使用Ellipsis(...)简化索引
first_batch_all_features = y[0, ...]  # 等价于 y[0, :, :]# 使用None增加维度
expanded = y[:, None, :, :]  # 在第二维增加一个维度# 跨维度索引
diag = y.diagonal(dim1=1, dim2=2)  # 获取每个batch的特征对角线

5.3. 工程实践

维度顺序:注意PyTorch的通道优先约定(N, C, H, W)

广播机制:了解索引操作中的广播规则

视图与拷贝:复杂索引可能触发意外拷贝

6. 综合性能比较

操作类型返回视图内存效率GPU加速比适用场景
简单索引10-100x常规子矩阵提取
列表索引5-20x非连续元素选择
范围索引通常10-50x连续区块操作
布尔索引20-100x条件筛选
多维索引有时不定10-50x高维数据操作

使用总结

  • 简单行列索引:基础的整数索引,用来访问单个元素。
  • 列表索引:通过提供一个索引列表或数组来选择多个元素。
  • 范围索引:通过切片来选择张量的一个区间。
  • 布尔索引:通过布尔条件来选择符合条件的元素。
  • 多维索引:通过混合使用不同的索引方式,进行复杂的索引操作。

7. 最佳实践建议

优先使用简单索引:性能最佳,内存最友好

避免频繁的小规模索引:合并多个操作为一个

注意设备一致性:索引张量应与数据在同一设备

利用原地操作:对于大张量修改,使用_后缀方法

预分配内存:对于已知大小的结果,先创建目标张量

# 高效索引操作示例
def efficient_indexing(x, row_indices, col_indices):# 预分配结果张量result = torch.empty(len(row_indices), len(col_indices),device=x.device)# 批量索引操作torch.index_select(x, 0, row_indices, out=result)torch.index_select(result, 1, col_indices, out=result)return result

文章转载自:

http://3Jo06Ztx.hprmg.cn
http://TUG78fEi.hprmg.cn
http://zFllCfwx.hprmg.cn
http://TRlslZkY.hprmg.cn
http://SFizvMby.hprmg.cn
http://x3G31Nna.hprmg.cn
http://epnG0PHH.hprmg.cn
http://uCPtNruF.hprmg.cn
http://H0YheP1i.hprmg.cn
http://CkLsdbLw.hprmg.cn
http://tVLTSmce.hprmg.cn
http://3gfETVVq.hprmg.cn
http://gsUsI6fZ.hprmg.cn
http://ggyZEXBY.hprmg.cn
http://Exr6UT96.hprmg.cn
http://dXYEWNHJ.hprmg.cn
http://wgrpPM4N.hprmg.cn
http://R4MmH0o0.hprmg.cn
http://qUzS1icR.hprmg.cn
http://WSUXlwd6.hprmg.cn
http://MLSGkRjt.hprmg.cn
http://y9BSCRl3.hprmg.cn
http://iXSo0mqF.hprmg.cn
http://zd37eTH5.hprmg.cn
http://kNX51WpM.hprmg.cn
http://PsKF1XbP.hprmg.cn
http://aOEZJszd.hprmg.cn
http://I6cIYFzN.hprmg.cn
http://sZAI01Jg.hprmg.cn
http://xaTahFvU.hprmg.cn
http://www.dtcms.com/wzjs/607082.html

相关文章:

  • 教做甜品的网站徐州网站建设的特点
  • 爱站工具包的主要功能华为服务器
  • wordpress做企业网站街头小吃加盟网站建设
  • 淄博桓台学校网站建设哪家好宜兴建设公司网站
  • 第三方做农产品价格数据的网站百度做一个网站怎么做呢
  • 做网站必须用域名吗句容网站建设
  • 沂南网站建设泗洪企业网站建设
  • ai做的比较好的网站专业制作银行存单
  • 开发网站公司价格wordpress添加pdf
  • 网页设计网站的分析网站1996年推广
  • 备案期间网站能用吗wordpress修改页面标题显示不出来
  • 微信开发网站开发网站开发语言html
  • 网站做服务端单页面优化
  • 南宁建设工程质量网站秦皇岛市中医院
  • 企业设计网站wordpress 禁用插件
  • 中国建设银行网站显示未签约开天猫旗舰店网站建设
  • 平凉建设局官方网站怎么做招标公司网站
  • wordpress商城建站教程北京做兼职从哪个网站
  • 织梦网站栏目管理在线支付 网站模板
  • 如何建设国际网站首页考程序员需要什么条件
  • 营销型网站服务wordpress模板修改服务
  • cp网站开发是什么汝州市建设局网站
  • 企业网站建站企业大数据查询官网
  • 集团公司门户网站建设cms系统排行榜
  • 旅游品牌网站的建设视频网站建设流程
  • 什么云的网站开发平台网上卖货哪个平台比较好
  • 网站需求分析是在建站的什么阶段做的_为什么要做?中国互联网金融协会平台官网
  • 电商网站备案流程足球直播网站开发定制
  • 特效很好的网站百度建设网站
  • 河南高端建设网站教做凉拌菜的视频网站