- Deep Learning with PyTorch
- Vishnu Subramanian
- 252字
- 2021-06-24 19:16:23
Slicing tensors
A common thing to do with a tensor is to slice a portion of it. A simple example could be choosing the first five elements of a one-dimensional tensor; let's call the tensor sales. We use a simple notation, sales[:slice_index] where slice_index represents the index where you want to slice the tensor:
sales = torch.FloatTensor([1000.0,323.2,333.4,444.5,1000.0,323.2,333.4,444.5])
sales[:5]
1000.0000
323.2000
333.4000
444.5000
1000.0000
[torch.FloatTensor of size 5]
sales[:-5]
1000.0000
323.2000
333.4000
[torch.FloatTensor of size 3]
Let's do more interesting things with our panda image, such as see what the panda image looks like when only one channel is chosen and see how to select the face of the panda.
Here, we select only one channel from the panda image:
plt.imshow(panda_tensor[:,:,0].numpy())
#0 represents the first channel of RGB
The output is as follows:

Now, lets crop the image. Say we want to build a face detector for pandas and we need just the face of a panda for that. We crop the tensor image such that it contains only the panda's face:
plt.imshow(panda_tensor[25:175,60:130,0].numpy())
The output is as follows:

Another common example would be where you need to pick a specific element of a tensor:
#torch.eye(shape) produces an diagonal matrix with 1 as it diagonal #elements.
sales = torch.eye(3,3)
sales[0,1]
Output- 0.00.0
We will revisit image data in Chapter 5, Deep Learning for Computer Vision, when we discuss using CNNs to build image classifiers.
- Aftershot Pro:Non-destructive photo editing and management
- Learning Cocos2d-x Game Development
- Applied Unsupervised Learning with R
- 辦公通信設備維修
- 數字道路技術架構與建設指南
- 電腦常見故障現場處理
- 基于ARM的嵌入式系統和物聯網開發
- 嵌入式系統設計教程
- 電腦軟硬件維修從入門到精通
- 微服務分布式架構基礎與實戰:基于Spring Boot + Spring Cloud
- 基于Apache Kylin構建大數據分析平臺
- Spring Cloud微服務架構實戰
- Creating Flat Design Websites
- 單片機開發與典型工程項目實例詳解
- FPGA實戰訓練精粹