0
点赞
收藏
分享

微信扫一扫

每日学习记录01:numpy和torch.tensor中对张量的基本操作

耳一文 2024-11-06 阅读 8

这里写自定义目录标题

每日学习记录01:numpy和torch.tensor中对张量的基本操作

在深度学习中,经常要对张量进行操作,这些对张量的基本操作,我们必须掌握。

使用numpy和torch.Tensor新建一个张量

numpy

import numpy as np
array1 = np.array([1, 2, 3, 4, 5])
array2 = np,array([[1,2],[3,4]])
array3 = np.zeros((30, 40), dtype = np.float32)

Tensor

import torch
tensor = torch.Tensor([1, 2, 3, 4, 5])
tensor_2d = torch.Tensor([[1, 2, 3], [4, 5, 6]])
zero_tensor = torch.zeros(3, 4)

基本运算

维度调整

reshape vs view

print(arr2) 
arr3=arr2.reshape(1,4) 
print(arr3)  
********************************************
[[1 2]
 [3 4]]            
[[1 2 3 4]]
tensor2 = tensor1.view(3,4) 
view前
tensor([[  1,   3,  24,   5, 123,   4],
        [  2,   3,   4,   5,   1,   3]])
view后
tensor([[  1,   3,  24,   5],
        [123,   4,   2,   3],
        [  4,   5,   1,   3]])

transpose vs permute

>>> arr2
array([[1, 2],
       [3, 4]])
>>> arr2.transpose(1,0)
array([[1, 3],
       [2, 4]])
>>> tensor2             
tensor([[  1,   3,  24,   5],
        [123,   4,   2,   3],
        [  4,   5,   1,   3]])
>>> tensor2.permute(1,0)
tensor([[  1, 123,   4],
        [  3,   4,   5],
        [ 24,   2,   1],
        [  5,   3,   3]])

截断

img_denoise = torch.clamp(img_denoise + noise, 0, 255)
img_denoise = np.clip(img_denoise + noise, 0, 255)

这两个函数用于将数组中的元素限制在指定的最小值和最大值之间。如果数组中的元素值低于最小值,它们将被设置为最小值;如果元素值高于最大值,它们将被设置为最大值。如果未指定最小值或最大值,则相应的限制不会被应用

举报

相关推荐

0 条评论