`torch.cat` 是 PyTorch 中用于拼接张量(tensor)的函数。其功能类似于 Python 中的列表拼接(concatenate),但是它是对多维的张量进行拼接。简单来说,`torch.cat` 可以将多个张量沿着指定的维度连接起来。
基本用法如下:
```python
import torch
# 创建两个简单的张量
tensor1 = torch.randn(2, 3) # 生成一个随机的 2x3 的矩阵作为示例
tensor2 = torch.randn(1, 3) # 生成另一个随机的 1x3 的矩阵作为示例
# 使用 torch.cat 将这两个张量沿着第 0 维拼接起来(即增加行数)
result = torch.cat((tensor1, tensor2), dim=0) # dim 参数指定了拼接的维度
```
在上面的例子中,我们创建了两个张量 `tensor1` 和 `tensor2`,并使用 `torch.cat` 沿着第 0 维将它们拼接起来。拼接后的结果是一个更大的矩阵,其行数增加了,列数保持不变。需要注意的是,拼接的所有张量在拼接的维度之外的所有维度都应该有相同的尺寸。例如,在我们的例子中,尽管 `tensor1` 和 `tensor2` 在列维度上的尺寸是相同的(都是 3),但它们在第 0 维上的尺寸是不同的(一个是 2,另一个是 1)。这是因为我们沿着第 0 维进行拼接。
总的来说,`torch.cat` 是一个强大的工具,允许你在指定的维度上轻松地拼接张量。这对于在深度学习中创建更复杂的模型和网络结构特别有用。