Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để tính giá trị trung bình và độ lệch chuẩn của tensor trong PyTorch?

Một tenxơ PyTorch giống như một mảng numpy. Sự khác biệt duy nhất là một tensor sử dụng GPU để tăng tốc tính toán số. Ý nghĩa của một tensor được tính bằng cách sử dụng torch.mean () phương pháp. Nó trả về giá trị trung bình của tất cả các phần tử trong tensor đầu vào. Chúng tôi cũng có thể tính toán trung bình theo hàng và theo cột, cung cấp trục hoặc độ sáng phù hợp.

Độ lệch chuẩn của tensor được tính bằng torch.std () . Nó trả về độ lệch chuẩn của tất cả các phần tử trong tensor. Giống như nghĩa là , chúng tôi cũng có thể tính toán độ lệch chuẩn , theo hàng hoặc theo cột.

Các bước

  • Nhập thư viện được yêu cầu. Trong tất cả các ví dụ Python sau, thư viện Python bắt buộc là torch . Đảm bảo rằng bạn đã cài đặt nó.

  • Xác định tensor PyTorch và in nó.

  • Tính toán giá trị trung bình bằng cách sử dụng torch.mean (đầu vào, trục) . Ở đây, đầu vào là tensor để tính giá trị trung bình và trục (hoặc dim ) là danh sách các kích thước. Gán giá trị trung bình đã tính cho một biến mới.

  • Tính toán độ lệch chuẩn bằng cách sử dụng torch.std (đầu vào, trục) . Ở đây, đầu vào là tensor trục (hoặc mờ ) là danh sách các kích thước. Gán độ lệch chuẩn đã tính toán cho một biến mới.

  • In giá trị trung bình và độ lệch chuẩn được tính toán ở trên.

Ví dụ 1

Chương trình Python sau đây chỉ ra cách tính giá trị trung bình và độ lệch chuẩn của tensor 1D.

 # Chương trình Python để tính toán trung bình và độ lệch chuẩn # của tensor 1D # nhập torch thư viện # Tạo một tensorT =torch.Tensor ([2.453, 4.432, 0.754, -6.554]) print ("T:", T ) # Tính giá trị trung bình và độ lệch chuẩnmean =torch.mean (T) std =torch.std (T) # In giá trị trung bình và độ lệch chuẩn được tính toán / pre> 

Đầu ra

 T:tensor ([2.4530, 4.4320, 0.7540, -6.5540]) Mean:tensor (0.2713) Độ lệch chuẩn:tensor (4.7920) 

Ví dụ 2

Chương trình Python sau đây chỉ ra cách tính giá trị trung bình và độ lệch chuẩn của tensor 2D trong cả hai chiều, tức là theo hàng cũng như theo cột

 # import libraryimport torch # tạo một tensorT =torch.Tensor 3x4 2D ([[2,4,7, -6], [7,33, -62,23], [2, -6, -77 , 54]]) print ("T:\ n", T) # tính giá trị trung bình và độ lệch chuẩnmean =torch.mean (T) std =torch.std (T) print ("Mean:", mean) print (" Độ lệch chuẩn:", std) # Tính giá trị trung bình theo cột và stdmean =torch.mean (T, axis =0) std =torch.std (T, axis =0) print (" Giá trị trung bình theo cột:\ n ", mean) print ("Độ lệch chuẩn theo cột:\ n", std) # Tính giá trị trung bình theo hàng và stdmean =torch.mean (T, axis =1) std =torch.std (T, axis =1) print ( "Trung bình theo hàng:\ n", có nghĩa là) print ("Độ lệch chuẩn theo hàng:\ n", std) 

Đầu ra

 T:tensor ([[2., 4., 7., -6.], [7., 33., -62., 23.], [2., -6., -77., 54.]]) Trung bình:tensor (-1.5833) Độ lệch chuẩn:tensor (36.2703) Trung bình theo cột:tensor ([3.6667, 10.3333, -44.0000, 23.6667]) Độ lệch chuẩn theo cột:tensor ([2.8868, 20.2567, 44.7996, 30.0056]) Trung bình theo hàng:tensor ([1.7500, 0.2500, -6.7500]) Độ lệch chuẩn theo hàng:tensor ([5.5603, 42.8593, 53.8602])