Làm cách nào để lấy trọng lượng của lớp mô hình trong PyTorch?

Lam Cach Nao De Lay Trong Luong Cua Lop Mo Hinh Trong Pytorch



Các mô hình Mạng thần kinh được tạo trong khung PyTorch dựa trên các tham số có thể học được của các lớp mô hình. Những cái này ' trọng lượng ” là chìa khóa trong việc xác định quá trình xử lý dữ liệu đầu vào để tạo ra kết quả ở đầu ra. Mỗi lần lặp lại của mô hình sẽ cập nhật các trọng số hiện có để cải thiện chất lượng đầu ra và đưa ra các suy luận tốt hơn.

Trong blog này, trọng tâm sẽ là cách lấy trọng số của lớp mô hình trong PyTorch.

Trọng lượng của Lớp mô hình trong PyTorch là gì?

Trọng lượng ' Và ' Thành kiến ” đều là những tính năng thiết yếu của mô hình Mạng nơ-ron. Đây đều là những tham số có thể học được và được cập nhật thường xuyên trong vòng đào tạo với mỗi lần chuyển tiếp mô hình. Bản cập nhật thường xuyên này là do trình tối ưu hóa tích hợp như trình tối ưu hóa Adam. Mục tiêu của các mô hình mạng nơ-ron là đưa ra các dự đoán chính xác dựa trên dữ liệu đầu vào, đồng thời các trọng số và độ lệch được sử dụng để điều chỉnh các kết quả này nhằm giảm thiểu tổn thất.







Làm cách nào để lấy trọng lượng của lớp mô hình trong PyTorch?

Các ' trọng lượng ” của một lớp được lưu trữ trong từ điển Python và sử dụng cú pháp “ state_dict() ”. Từ điển được sử dụng để gọi các trọng số bằng các bước dưới đây:



Bước 1: Mở Colab IDE

Hướng dẫn này sẽ bắt đầu với việc lựa chọn IDE cho dự án. Đi đến Hợp tác xã trang mạng và bắt đầu một “ Sổ tay mới ” để bắt đầu làm việc:







Bước 2: Cài đặt và nhập thư viện

Sau khi thiết lập sổ ghi chép Colab, “ cài đặt ' Và ' nhập khẩu ” các thư viện bao gồm tất cả các chức năng cần thiết trong dự án:

! ngọn đuốc cài đặt pip

nhập khẩu ngọn đuốc

nhập khẩu torchvision. mô hình

Đoạn mã trên hoạt động như sau:



  • Các ' pip ” gói cài đặt từ python được sử dụng để cài đặt “ ngọn đuốc ' thư viện.
  • Tiếp theo, “ nhập khẩu Lệnh ” được sử dụng để nhập nó vào dự án.
  • Cuối cùng, “ ngọn đuốc.models ” gói cũng được nhập để bổ sung chức năng của các mô hình học sâu:

Bước 3: Nhập mô hình ResNet

Trong hướng dẫn này, “ ResNet50 ” Mô hình mạng lưới thần kinh với 50 lớp có trong thư viện torchvision được sử dụng để trình diễn. Nhập mô hình được đào tạo trước như được hiển thị:

mẫu_model = torchvision. mô hình . nghiêm túc50 ( được huấn luyện trước = ĐÚNG VẬY )

Bước 4: Xác định lớp mô hình

Xác định tên lớp mô hình và sử dụng “ state_dict() ” phương pháp để có được trọng số của nó như được hiển thị:

sample_layer_name = 'lớp2.0.conv1'

sample_layer_weights = sample_model. trạng thái_dict ( ) [ sample_layer_name + '.cân nặng' ]

in ( 'Trọng lượng lớp: \N ' , sample_layer_weights. hình dạng )

Đoạn mã trên hoạt động như sau:

  • Lớp phức tạp thứ hai của mô hình ResNet50 được gán cho “ sample_layer_name ' Biến đổi.
  • Sau đó, “ state_dict() ” phương thức được sử dụng với “ mẫu_model ” biến và chúng được gán cho “ sample_layer_weights ' Biến đổi.
  • Các ' sample_layer_name ' và ' .cân nặng ” được thêm vào làm đối số của “ state_dict() ” phương pháp để có được trọng số.
  • Cuối cùng, hãy sử dụng “ in() ” để hiển thị Trọng lượng lớp làm đầu ra:

Kết quả đầu ra dưới đây cho thấy chúng ta đã thu được trọng số của lớp mô hình trong Pytorch:

Ghi chú : Bạn có thể truy cập Colab Notebook của chúng tôi tại đây liên kết .

Mẹo chuyên nghiệp

Trọng số của lớp mô hình trong PyTorch thể hiện tiến trình của vòng đào tạo. Các trọng số này được sử dụng để xác định sự phát triển của mô hình khi nó xử lý dữ liệu đầu vào thành kết quả và dự đoán đầu ra. Việc thu được trọng số của một lớp là rất quan trọng trong việc đánh giá chất lượng của kết quả và kiểm tra xem có cần thực hiện bất kỳ cải tiến nào hay không.

Thành công! Chúng tôi đã trình bày cách lấy trọng số của một lớp trong mô hình PyTorch.

Phần kết luận

Lấy trọng số của lớp mô hình trong PyTorch bằng cách sử dụng “state_dict() ” sau khi nhập mô hình từ torchvision hoặc sử dụng mô hình tùy chỉnh. Trọng số của một lớp mô hình là các tham số có thể học được, được cập nhật liên tục trong quá trình đào tạo và lập danh mục tiến trình của nó. Trong bài viết này, chúng tôi đã hướng dẫn cách nhập mô hình ResNet50 từ torchvision và lấy trọng số của lớp phức tạp thứ hai của nó.