# 练习 2:步长切片 # 1、生成一个6x6的随机张量 C,提取每隔一行和一列的子张量(即行和列的步长为2)。 # 2、生成一个5x5的随机张量 D,并对其进行以下操作: # 提取最后两列的所有行。 # 提取所有行和列中每隔一个元素的子张量。
时间: 2024-10-22 15:23:11 浏览: 26
编写一个随机模拟以巩固基于PyTorch的张量的基本操作以及梯度下降算法 1.ipynb
# 练习 2:步长切片
首先,我们来创建两个随机张量。
对于6x6的随机张量C:
```python
import torch
import numpy as np
# 生成6x6的随机张量C
C = torch.randn(6, 6)
print("原始张量C:")
print(C)
# 提取每隔一行和一列的子张量 (步长为2)
subtensor_C = C[::2, ::2]
print("\n提取后的步长为2的子张量C:")
print(subtensor_C)
```
接下来,对于5x5的随机张量D:
```python
# 生成5x5的随机张量D
D = torch.randn(5, 5)
print("原始张量D:")
print(D)
# 提取最后两列的所有行 (即最后一列)
last_two_cols_D = D[:, -2:]
print("\n提取最后两列的所有行的子张量D:")
print(last_two_cols_D)
# 提取所有行和列中每隔一个元素的子张量 (步长为2)
every_other_element_D = D[::2, ::2]
print("\n提取所有行和列每隔一个元素的子张量D:")
print(every_other_element_D)
```
阅读全文