torch.chunk的用法示例——非常清晰

`torch.chunk` 是 PyTorch 中用于将一个张量沿指定维度分割成多个子张量的函数。下面是对其用法的详细解释和示例。

函数定义

```python

torch.chunk(input, chunks, dim=0)

```

  • **`input`**: 要分割的输入张量。

  • **`chunks`**: 要分割成的子张量的数量。

  • **`dim`**: 指定在哪个维度上进行分割,默认为 `0`(第一个维度,即行)。

示例

示例 1: 基本用法

复制代码
import torch

# 创建一个 4x4 的张量
tensor = torch.arange(16).reshape(4, 4)
print("Original Tensor:")
print(tensor)

# 将张量分割成 2 个部分,沿第 0 维(行)
chunks = torch.chunk(tensor, 2, dim=0)

print("\nChunks:")
for i, chunk in enumerate(chunks):
    print(f"Chunk {i}:")
    print(chunk)

**输出**:

```

Original Tensor:

tensor([[ 0, 1, 2, 3],

4, 5, 6, 7\], \[ 8, 9, 10, 11\], \[12, 13, 14, 15\]\]) Chunks: Chunk 0: tensor(\[\[0, 1, 2, 3\], \[4, 5, 6, 7\]\]) Chunk 1: tensor(\[\[ 8, 9, 10, 11\], \[12, 13, 14, 15\]\]) \`\`\`

示例 2: 不同维度分割

复制代码
# 将张量分割成 4 个部分,沿第 1 维(列)
chunks = torch.chunk(tensor, 4, dim=1)

print("\nChunks along dim=1:")
for i, chunk in enumerate(chunks):
    print(f"Chunk {i}:")
    print(chunk)

**输出**:

```

Chunks along dim=1:

Chunk 0:

tensor([[0],

4\], \[8\], \[12\]\]) Chunk 1: tensor(\[\[ 1\], \[ 5\], \[ 9\], \[13\]\]) Chunk 2: tensor(\[\[ 2\], \[ 6\], \[10\], \[14\]\]) Chunk 3: tensor(\[\[ 3\], \[ 7\], \[11\], \[15\]\]) \`\`\`

总结

  • `torch.chunk` 可以方便地将张量按指定维度分割成多个子张量,适用于需要将数据划分为多个部分的情况。

  • 在处理深度学习任务时,这种分割操作可以帮助实现特定的特征处理或聚合策略。

相关推荐
冴羽6 分钟前
OpenClaw 接入飞书配置指南
人工智能·aigc
向上的车轮6 分钟前
SAP AI系统融合:嵌入式智能、Joule助手与BTP扩展的实践路径
人工智能
Fleshy数模8 分钟前
OpenCV图像处理实战:旋转、多模板匹配与金字塔
图像处理·人工智能·opencv
九硕智慧建筑一体化厂家13 分钟前
楼宇的能耗与碳排放问题,如何达到降本和减碳?
人工智能
焦耳热科技前沿15 分钟前
厦门大学Nat. Commun.:闪蒸焦耳热诱导富镍层状氧化物正极表面尖晶石化以稳定晶格氧
人工智能·科技·自动化·能源·材料工程
阿_旭17 分钟前
基于YOLO26深度学习的铁轨部件缺陷检测与语音提示系统【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·铁轨部件缺陷检测
胖祥24 分钟前
AI之Transform encoder/decoder抽象理解
人工智能
早睡早起好好code27 分钟前
Qwen2.5-VL研究_待完善...
图像处理·人工智能·笔记·深度学习·学习
zhqh10032 分钟前
Ubuntu24.04安装ollama,基于GPU,对接openclaw
人工智能·ubuntu·ollama·openclaw
Solar202534 分钟前
企业数据API对接选型指南:技术架构、评估标准与行业实践
大数据·运维·人工智能·架构·云计算